📄 initializedata.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration.Install;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Data.SqlClient;
using System.Data.Odbc;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
[StructLayout(LayoutKind.Sequential)]
public unsafe class Dog
{
public uint DogBytes,DogAddr;
public byte [] DogData;
public uint Retcode;
[DllImport(@"C:\TempDB\win32dll.dll",CharSet=CharSet.Ansi)]
public static unsafe extern uint DogRead(uint idogBytes,uint idogAddr,byte *pdogData);
[DllImport("win32dll.dll",CharSet=CharSet.Ansi)]
public static unsafe extern uint DogWrite(uint idogBytes,uint idogAddr,byte *pdogData);
public unsafe Dog(ushort num)
{
DogBytes=num;
DogData=new byte[DogBytes];
}
public unsafe void ReadDog()
{
fixed(byte * pDogData=&DogData[0])
{
Retcode = DogRead(DogBytes,DogAddr,pDogData);
}
}
public unsafe void WriteDog()
{
fixed(byte * pDogData=&DogData[0])
{
Retcode = DogWrite(DogBytes,DogAddr,pDogData);
}
}
}
namespace WebApplication8
{
/// <summary>
/// InitializeData 的摘要说明。
/// </summary>
[RunInstaller(true)]
public class InitializeData : System.Configuration.Install.Installer
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Dog dog;
public InitializeData()
{
// 该调用是设计器所必需的。
InitializeComponent();
//dog = new Dog(100);
// TODO: 在 InitializeComponent 调用后添加任何初始化
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
public override void Install(IDictionary stateSaver)
{
try
{
//Encode();
base.Install (stateSaver);
string[] info = Context.Parameters["info"].Split(";".ToCharArray());
string userName = info[0];
string password = info[1];
initializeData(userName,password);
}
catch(Exception o)
{
throw new Exception();
}
}
private unsafe void Encode()
{
string pwd;
dog.DogAddr = 0;
dog.DogBytes = 4;
dog.ReadDog();
if(dog.Retcode == 0)
{
char[] temp = new char[4];
for(int i=0;i<4;i++)
temp[i] = (char)(dog.DogData[i]);
pwd = new string(temp);
}
else
{
MessageBox.Show("您无权使用本软件,请联系软件供应商--上海科育公司");
throw new Exception();
}
dog.DogAddr = 10;
dog.DogBytes = 6;
dog.ReadDog();
if(dog.Retcode == 0)
{
char[] temp = new char[6];
for(int i=0;i<6;i++)
temp[i] = (char)(dog.DogData[i]);
pwd += " "+(new string(temp).Substring(0,4));
}
else
{
MessageBox.Show("您无权使用本软件,请联系软件供应商--上海科育公司");
throw new Exception();
}
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
}
#endregion
private void initializeData(string userName, string password)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "workstation id='(loacal)';packet size=4096;user id="+userName+";data source="+
"'(local)';persist security info=False;initial catalog=master; password="+password;
try
{
conn.Open();
conn.Close();
}
catch(Exception ex)
{
MessageBox.Show("请首先开启Sql Server服务,并确认输入正确的Sql Server用户名及密码!");
throw new Exception();
}
if(!Directory.Exists(@"C:\WINDOWS\system"))
Directory.CreateDirectory(@"C:\WINDOWS\system");
Stream stream = File.Create(@"C:\WINDOWS\system\data.txt");
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine(userName+";"+password);
writer.Flush();
writer.Close();
if(!Directory.Exists(@"C:\Program Files\Microsoft SQL Server\MSSQL\Data"))
Directory.CreateDirectory(@"C:\Program Files\Microsoft SQL Server\MSSQL\Data");
System.Diagnostics.Process.Start(@"c:\TempDB\osql.exe",@"-E -S -i c:\TempDB\fill.txt");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -