【文件属性】:
文件名称:API精灵源码(C#编)
文件大小:648KB
文件格式:RAR
更新时间:2012-11-21 02:23:42
API精灵源码
/*
API精灵 FOR C# 开始设计日期 2004.03.06
设计目的:简单快速对C#中使用的API函数进行查询,并给出调用代码
设计进度:
2004.03.09 完成对<函数类>的查询功能,包括 代码调用,中文注释,所需的DLL库,与C#中函数对应关系
2004.03.10 0:48:52 完成了用StringBuilder数组对原ComboBox的替换,可以使程序不用从新读取数据库就可以刷新修改后的信息!
2004.03.10 18:00:00 完成了用ArrayList对StringBuilder数组的替换节省2M内存
2004.03.11 21:10:15 完成滚动字幕的设置,启用了一个TIMER控件,然后设置时间,删除字符串的第一个字母已达到滚动效果!
2004.03.11 22:02:00 改正更新时出现空值出错问题,新填函数isnull
2004.03.12 13:22:08 完成关键字高亮显示 高亮显示函数 mykeywords
2004.03.12 22:08:20 加强了高亮显示函数 mykeywords的功能,使其能识别不同的关键字并显示不同的颜色
2004.03.14 01:40:00 完成对CONST的查询,并且增加了 mykeywords1函数,使其关键字显示性能提高
2004.03.14 13:12:00 添加了提示信息,提示信息设置在函数 mytips() 中
2004.03.15 21:51:20 更改数据库和WINAPI.TXT路径为程序运行路径
2004.03.15 22:31:50 添加了鼠标右键信息
2004.03.15 23.23:30 添加了数据库密码
2004.03.16 23:24:30 添加了版权信息以及相应提示
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using System.Runtime.InteropServices;
using System.IO;
namespace API精灵
{
///
/// Form1 的摘要说明。
/// 这个版本没有使用oleDbDataAdapter+DataSet对数据进行存取,而是使用的OleDbCommand +OleDbDataReader 的形式。
/// 主要是想试验一下不用oleDbDataAdapter+DataSet的数据存取速度。
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.TextBox mysearch;
private System.Windows.Forms.ListBox tiplist;
private System.Windows.Forms.ComboBox select_type;
private System.Windows.Forms.TextBox dlltext;
///
/// 必需的设计器变量。
///
//自定义变量
private ArrayList fundll = new ArrayList();//保存读取出来的DLL内容
private ArrayList funtips = new ArrayList();//保存读取出来的中文提示信息
private ArrayList funcode = new ArrayList();//保存读取出来的C#调用代码
private ArrayList funmat = new ArrayList();//保存读取出来的C#对应函数
private ArrayList funwin9x = new ArrayList();//保存读取出来的WIN9X
private ArrayList funwin2k = new ArrayList();//保存读取出来的WIN2K
private int nowselect = 0;
private string oldscoll_text;
private int nowtypeselect = 0;
private string nowpath = @System.Environment.CurrentDirectory+@"\";
private string dbpassword = "ling_feng_work";
public string myConnstr;
public OleDbConnection myconn ;//创建一个新连接
private string mysql ;//查询语句
private string sql_update;
private System.Windows.Forms.RichTextBox tipsmemo;
private System.Windows.Forms.TextBox mat_text;
private OleDbCommand mycommand = new OleDbCommand();
private System.Windows.Forms.RichTextBox codememo;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.CheckBox win9x;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.CheckBox win2k;
private System.Windows.Forms.CheckBox e_add;
private System.Windows.Forms.CheckBox e_modify;
private System.Windows.Forms.Button b_modify;
private System.Windows.Forms.Button b_add;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.ContextMenu mypop;
private System.Windows.Forms.MenuItem menuItem1;
private System.ComponentModel.IContainer components;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
///
/// 清理所有正在使用的资源。
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗体设计器生成的代码
///
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
///
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.button1 = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.tiplist = new System.Windows.Forms.ListBox();
this.select_type = new System.Windows.Forms.ComboBox();
this.mat_text = new System.Windows.Forms.TextBox();
this.mysearch = new System.Windows.Forms.TextBox();
this.dlltext = new System.Windows.Forms.TextBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.tipsmemo = new System.Windows.Forms.RichTextBox();
this.mypop = new System.Windows.Forms.ContextMenu();
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.codememo = new System.Windows.Forms.RichTextBox();
this.b_modify = new System.Windows.Forms.Button();
this.b_add = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.win2k = new System.Windows.Forms.CheckBox();
this.win9x = new System.Windows.Forms.CheckBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.e_add = new System.Windows.Forms.CheckBox();
this.e_modify = new System.Windows.Forms.CheckBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.SuspendLayout();
//
// button1
//
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button1.Location = new System.Drawing.Point(224, 395);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 24);
this.button1.TabIndex = 10;
this.button1.Text = "关 于";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.tiplist);
this.groupBox1.Controls.Add(this.select_type);
this.groupBox1.Controls.Add(this.mat_text);
this.groupBox1.Controls.Add(this.mysearch);
this.groupBox1.Controls.Add(this.dlltext);
this.groupBox1.Location = new System.Drawing.Point(8, 8);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(200, 168);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "API查询";
//
// tiplist
//
this.tiplist.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tiplist.ItemHeight = 12;
this.tiplist.Location = new System.Drawing.Point(8, 43);
this.tiplist.Name = "tiplist";
this.tiplist.Size = new System.Drawing.Size(184, 110);
this.tiplist.TabIndex = 1;
this.tiplist.Visible = false;
this.tiplist.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tiplist_KeyDown);
this.tiplist.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.tiplist_KeyPress);
this.tiplist.DoubleClick += new System.EventHandler(this.tiplist_DoubleClick);
this.tiplist.MouseUp += new System.Windows.Forms.MouseEventHandler(this.tiplist_MouseUp);
this.tiplist.MouseLeave += new System.EventHandler(this.tiplist_MouseLeave);
this.tiplist.SelectedIndexChanged += new System.EventHandler(this.tiplist_SelectedIndexChanged);
//
// select_type
//
this.select_type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.select_type.Items.AddRange(new object[] {
"API函数查询",
"常量定义查询"});
this.select_type.Location = new System.Drawing.Point(8, 61);
this.select_type.Name = "select_type";
this.select_type.Size = new System.Drawing.Size(184, 20);
this.select_type.TabIndex = 2;
this.select_type.SelectedIndexChanged += new System.EventHandler(this.select_type_SelectedIndexChanged);
//
// mat_text
//
this.mat_text.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.mat_text.Location = new System.Drawing.Point(8, 134);
this.mat_text.Name = "mat_text";
this.mat_text.Size = new System.Drawing.Size(184, 21);
this.mat_text.TabIndex = 4;
this.mat_text.Text = "C#对应函数:";
this.mat_text.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mat_text_MouseDown);
//
// mysearch
//
this.mysearch.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.mysearch.Location = new System.Drawing.Point(8, 24);
this.mysearch.Name = "mysearch";
this.mysearch.Size = new System.Drawing.Size(184, 21);
this.mysearch.TabIndex = 0;
this.mysearch.Text = "";
this.mysearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.mysearch_KeyDown);
this.mysearch.MouseDown += new System.Windows.Forms.MouseEventHandler(this.mysearch_MouseDown);
this.mysearch.TextChanged += new System.EventHandler(this.mysearch_TextChanged);
//
// dlltext
//
this.dlltext.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dlltext.Location = new System.Drawing.Point(8, 97);
this.dlltext.Name = "dlltext";
this.dlltext.Size = new System.Drawing.Size(184, 21);
this.dlltext.TabIndex = 3;
this.dlltext.Text = "";
this.dlltext.TextChanged += new System.EventHandler(this.dlltext_TextChanged);
//
// groupBox2
//
this.groupBox2.Controls.Add(this.tipsmemo);
this.groupBox2.Location = new System.Drawing.Point(216, 8);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(200, 168);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "函数注释";
//
// tipsmemo
//
this.tipsmemo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tipsmemo.ContextMenu = this.mypop;
this.tipsmemo.Location = new System.Drawing.Point(8, 16);
this.tipsmemo.Name = "tipsmemo";
this.tipsmemo.Size = new System.Drawing.Size(184, 144);
this.tipsmemo.TabIndex = 0;
this.tipsmemo.Text = "";
this.tipsmemo.MouseEnter += new System.EventHandler(this.richTextBox1_MouseEnter);
//
// mypop
//
this.mypop.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.Text = "复制信息";
this.menuItem1.Click += new System.EventHandler(this.menuItem1_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.codememo);
this.groupBox3.Location = new System.Drawing.Point(8, 221);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(408, 168);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "代码调用";
//
// codememo
//
this.codememo.ContextMenu = this.mypop;
this.codememo.Location = new System.Drawing.Point(8, 16);
this.codememo.Name = "codememo";
this.codememo.Size = new System.Drawing.Size(392, 144);
this.codememo.TabIndex = 0;
this.codememo.Text = "";
this.codememo.TextChanged += new System.EventHandler(this.codememo_TextChanged);
//
// b_modify
//
this.b_modify.Enabled = false;
this.b_modify.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.b_modify.Location = new System.Drawing.Point(120, 395);
this.b_modify.Name = "b_modify";
this.b_modify.Size = new System.Drawing.Size(75, 24);
this.b_modify.TabIndex = 4;
this.b_modify.Text = "修改信息";
this.b_modify.Click += new System.EventHandler(this.button2_Click);
//
// b_add
//
this.b_add.Enabled = false;
this.b_add.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.b_add.Location = new System.Drawing.Point(16, 395);
this.b_add.Name = "b_add";
this.b_add.Size = new System.Drawing.Size(75, 24);
this.b_add.TabIndex = 5;
this.b_add.Text = "添加新项";
//
// button4
//
this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button4.Location = new System.Drawing.Point(328, 395);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 24);
this.button4.TabIndex = 6;
this.button4.Text = "退 出";
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// groupBox4
//
this.groupBox4.Controls.Add(this.win2k);
this.groupBox4.Controls.Add(this.win9x);
this.groupBox4.Location = new System.Drawing.Point(8, 176);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(200, 40);
this.groupBox4.TabIndex = 11;
this.groupBox4.TabStop = false;
//
// win2k
//
this.win2k.Location = new System.Drawing.Point(104, 11);
this.win2k.Name = "win2k";
this.win2k.Size = new System.Drawing.Size(80, 24);
this.win2k.TabIndex = 1;
this.win2k.Text = "支持win2k";
//
// win9x
//
this.win9x.Location = new System.Drawing.Point(16, 11);
this.win9x.Name = "win9x";
this.win9x.TabIndex = 0;
this.win9x.Text = "支持win9x";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.e_add);
this.groupBox5.Controls.Add(this.e_modify);
this.groupBox5.Location = new System.Drawing.Point(216, 176);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(200, 40);
this.groupBox5.TabIndex = 12;
this.groupBox5.TabStop = false;
//
// e_add
//
this.e_add.Location = new System.Drawing.Point(112, 10);
this.e_add.Name = "e_add";
this.e_add.Size = new System.Drawing.Size(80, 24);
this.e_add.TabIndex = 5;
this.e_add.Text = "允许添加";
this.e_add.CheckedChanged += new System.EventHandler(this.e_add_CheckedChanged);
//
// e_modify
//
this.e_modify.Location = new System.Drawing.Point(16, 10);
this.e_modify.Name = "e_modify";
this.e_modify.Size = new System.Drawing.Size(76, 24);
this.e_modify.TabIndex = 4;
this.e_modify.Text = "允许修改";
this.e_modify.CheckedChanged += new System.EventHandler(this.e_modify_CheckedChanged);
//
// timer1
//
this.timer1.Interval = 500;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(424, 429);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.button4);
this.Controls.Add(this.b_add);
this.Controls.Add(this.b_modify);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.groupBox2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "API精灵FOR C#";
this.Load += new System.EventHandler(this.Form1_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox4.ResumeLayout(false);
this.groupBox5.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
[DllImport("user32.dll", EntryPoint="ShowWindow")]
public static extern int ShowWindow (
int hwnd,
int nCmdShow
);
private void button1_Click(object sender, System.EventArgs e)
{
AboutForm myabout = new AboutForm();
myabout.ShowDialog();
}
///
/// 填写mysearch中的内容。
///
private void search_comp()
{
if (tiplist.SelectedIndex>-1)
mysearch.Text = tiplist.SelectedItem.ToString();
tiplist.Visible = false ;
mysearch.Select();
}
///
/// 自动填写提示内容。
///
private void autocomp()
{
if (tiplist.SelectedIndex>-1)
try
{
if (this.nowtypeselect==0)
//================查询函数
{
this.nowselect = tiplist.SelectedIndex;
dlltext.Text = fundll[tiplist.SelectedIndex].ToString();//else
tipsmemo.Text = funtips[tiplist.SelectedIndex].ToString();
codememo.Text = funcode[tiplist.SelectedIndex].ToString();
mat_text.Text = funmat[tiplist.SelectedIndex].ToString();
this.oldscoll_text = mat_text.Text;
if (funwin9x[tiplist.SelectedIndex].ToString()==("Yes")) win9x.Checked=true;
else win9x.Checked=false;
if (funwin2k[tiplist.SelectedIndex].ToString()==("Yes")) win2k.Checked=true;
else win2k.Checked=false;
//滚动文字
if (mat_text.TextLength>30) timer1.Enabled = true; else timer1.Enabled = false;
}
else
{
dlltext.Text = "";
tipsmemo.Text = "";
codememo.Text = "";
win9x.Checked = false;
win2k.Checked = false;
}
//********************
if (this.nowtypeselect==1)
{
this.nowselect = tiplist.SelectedIndex;
codememo.Text = funcode[tiplist.SelectedIndex].ToString();
}
//********************
//=================
}
catch
{
dlltext.Text = "没有找到相应连接库";
tipsmemo.Text = "没有找到相应提示";
codememo.Text = "没有找到相应调用代码";
mat_text.Text = "没有找到相应C#函数";
}
}
//
///
/// 手动释放一些内存。
///
private void mydisp()
{
tipsmemo.Clear();
codememo.Clear();
tiplist.Items.Clear();
// =====
fundll.Clear();//保存读取出来的DLL内容
funtips.Clear();//保存读取出来的中文提示信息
funcode.Clear();//保存读取出来的C#调用代码
funmat.Clear();//保存读取出来的C#对应函数
funwin9x.Clear();//保存读取出来的WIN9X
funwin2k.Clear();//保存读取出来的WIN2K
}
private void mysearch_TextChanged(object sender, System.EventArgs e)
{
tiplist.Visible = true ;
//自动完成功能。
tiplist.SelectedIndex = (tiplist.FindString(mysearch.Text,-1)) ;//加上这句,保证TIPLIST跟着自动变化
nowselect = tiplist.SelectedIndex;
autocomp();
//设置提示信息
mytips();
}
private void mysearch_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ((e.KeyCode == Keys.Down) || (e.KeyCode == Keys.Up)) tiplist.Focus();
if (e.KeyCode == Keys.Enter)
{
search_comp();
if (this.nowtypeselect==0)
mykeyword();
if (this.nowtypeselect==1)
mykeyword1();
}
if (e.KeyCode == Keys.Escape)
{
tiplist.Visible = false ;
}
}
private void tiplist_MouseLeave(object sender, System.EventArgs e)
{
}
private void tiplist_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
}
private void tiplist_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.search_comp();
if (this.nowtypeselect==0)
mykeyword(); else mykeyword1();
}
if (e.KeyCode == Keys.Escape)
{
tiplist.Visible = false ;
}
}
private void tiplist_DoubleClick(object sender, System.EventArgs e)
{
this.search_comp();
if (this.nowtypeselect==0)
mykeyword(); else mykeyword1();
}
private void Form1_Load(object sender, System.EventArgs e)
{
//初始化数据库
initdatabase();
//MessageBox.Show(this,"欢迎使用 共享版\n 本版对使用功能上略有限制\n 且不提供数据库更新!\n 如想获得更多信息请与我联系。\n dong_teng@tom.com","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
select_type.SelectedIndex = 0;
AboutForm myabout = new AboutForm();
myabout.ShowDialog();
}
//
private void mytips()
{
//设置提示信息
if ((this.nowselect>-1)&(this.nowtypeselect==0))
{
toolTip1.SetToolTip(this.dlltext,"所在动态连接库: "+this.fundll[this.nowselect].ToString());
toolTip1.SetToolTip(this.mat_text,"在C#中对应的函数: "+this.funmat[this.nowselect].ToString());
toolTip1.SetToolTip(this.codememo,"函数 "+this.tiplist.SelectedItem.ToString()+" 在C#中的调用代码,可以手动修改");
toolTip1.SetToolTip(this.tipsmemo,"函数 "+this.tiplist.SelectedItem.ToString()+" 的注释信息,可以手动修改");
} else if ((this.nowselect>-1)&(this.nowtypeselect==1))
{
toolTip1.SetToolTip(this.codememo,"常量 "+this.tiplist.SelectedItem.ToString()+" 在C#中的调用代码");
toolTip1.SetToolTip(this.dlltext,"没有相关信息");
toolTip1.SetToolTip(this.mat_text,"没有相关信息");
toolTip1.SetToolTip(this.tipsmemo,"没有相关信息");
}
}
//
private void initdatabase()
{
string dbpath = @nowpath+"winapi.mdb";
tiplist.Items.Clear();
//@"Provider=Microsoft.Jet.OleDB.4.0;Data Source="+dbpath+";User Id=admin;Password="+this.dbpassword ;
//"Provider=Microsoft.Jet.OleDB.4.0;Data Source=your mdb filename;Jet OLEDB:Database Password='pass'" ;
this.myConnstr = @"Provider=Microsoft.Jet.OleDB.4.0;Data Source="+dbpath+";User Id=admin;Jet OLEDB:Database Password="+this.dbpassword ;
this.myconn= new OleDbConnection(myConnstr);
mysql= @"select Fun_name,Fun_dll,Fun_tips,Fun_code,Fun_com,win9x,win2k from winapi";
using(myconn)
{
myconn.Open();
// if (myconn.State.ToString() == "Open") MessageBox.Show("打开成功!");
//数据处理
// OleDbCommand mycommand = new OleDbCommand(mysql,myconn);
mycommand.CommandText = mysql;
mycommand.Connection = myconn;
OleDbDataReader myreader = mycommand.ExecuteReader();
int i=0;
while (myreader.Read())
{
tiplist.Items.Add(myreader["Fun_name"]);
fundll.Add(myreader["fun_dll"].ToString());
funtips.Add(myreader["fun_tips"].ToString());
funcode.Add(myreader["fun_code"].ToString());
funmat.Add(myreader["fun_com"].ToString());
funwin9x.Add(myreader["win9x"].ToString());
funwin2k.Add(myreader["win2k"].ToString());
i++;
}
myconn.Close();
myreader.Close();
}
}
//更新缓存
private void memo_update()
{
fundll[nowselect] = dlltext.Text;
funtips[nowselect] = this.tipsmemo.Text;
funcode[nowselect] = this.codememo.Text;
funmat[nowselect] = this.mat_text.Text;
if (win9x.Checked) funwin9x[nowselect]="Yes" ;else funwin9x[nowselect]="No";
if (win2k.Checked) funwin2k[nowselect]="Yes" ;else funwin2k[nowselect]="No";
}
//
private void oleDbConnection1_InfoMessage(object sender, System.Data.OleDb.OleDbInfoMessageEventArgs e)
{
}
//==============从WINAPI.TXT读取CONST并拆分
private void mysplip()
{
//string dbpath = @System.Environment.CurrentDirectory+@"\winapi.mdb";
string filename =@nowpath +"winapi.txt";
string nextline;
tiplist.Items.Clear();
StreamReader sr = new StreamReader(filename);
while ((nextline = sr.ReadLine())!=null)
{
if (nextline.StartsWith("public const"))
{
string[] ss = nextline.Split('=');
tiplist.Items.Add(ss[0].Substring(16).Trim());
funcode.Add(nextline);
}
}
sr.Close();
}
//==============================
private void select_type_SelectedIndexChanged(object sender, System.EventArgs e)
{
if (select_type.SelectedIndex != this.nowtypeselect)
{
this.mydisp();
switch (select_type.SelectedIndex)
{
case 0:initdatabase();this.nowtypeselect=select_type.SelectedIndex;break;
case 1:mysplip();this.nowtypeselect=select_type.SelectedIndex;this.dlltext.Clear();this.mat_text.Clear();break;
}
isenable(this.nowtypeselect);
}
}
private void dlltext_TextChanged(object sender, System.EventArgs e)
{
}
private void richTextBox1_MouseEnter(object sender, System.EventArgs e)
{
tiplist.Visible = false ;
}
private void mysearch_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
tiplist.Visible = false ;
mysearch.Focus();
}
private void tiplist_SelectedIndexChanged(object sender, System.EventArgs e)
{
autocomp();
}
///
/// 修改内容。
///
private void fun_update()
{
using(myconn)
{
myconn.ConnectionString = myConnstr;
myconn.Open();
try
{
//if (myconn.State.ToString() == "Open") MessageBox.Show("打开成功!");
isnull();//判断是否有无效值
string str_win9x,str_win2k;
if (win9x.Checked) str_win9x = "Yes" ; else str_win9x = "No";
if (win2k.Checked) str_win2k = "Yes" ; else str_win2k = "No";
sql_update = "update winapi set Fun_dll = '"+dlltext.Text+"'"+" , Fun_tips = '"+tipsmemo.Text+"'"+" , Fun_code = '"+codememo.Text+"'"+" , Fun_com ='"+mat_text.Text+"' ";
sql_update +=" , win9x = '" + str_win9x +"' " + ", win2k = '" + str_win2k+"' ";
sql_update +=" where Fun_name ='"+ mysearch.Text+"'";
mycommand.Connection = myconn;
mycommand.CommandText = sql_update;
mycommand.ExecuteNonQuery();
myconn.Close();
memo_update();
MessageBox.Show(this,"恭喜!更新成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch
{
// tipsmemo.Text = sql_update;
MessageBox.Show("没有找到相应记录,更新失败!");
}
}
}
//判断是更新的部分是否有效(不能为空)
private void isnull()
{
if (this.mat_text.Text=="") this.mat_text.Text="没有相关信息";
if (this.codememo.Text=="") this.codememo.Text="没有相关信息";
if (this.tipsmemo.Text=="") this.tipsmemo.Text="没有相关信息";
if (this.dlltext.Text=="") this.dlltext.Text="没有相关信息";
}
//关键字高亮显示
private void mykeyword()
{
string[] keywords = new string[5];
keywords[0]=mysearch.Text;
keywords[1]="string";
keywords[2]="ref";
keywords[3]="int";
keywords[4]="static extern";
for(int i=0;i0)
{
index++;
switch(i)
{
case 0: codememo.SelectionColor = Color.Red;break;
case 1: codememo.SelectionColor = Color.Green;break;
case 2: codememo.SelectionColor = Color.Brown;break;
case 3: codememo.SelectionColor = Color.Blue;break;
case 4: codememo.SelectionColor = Color.Green;break;
//default:codememo.SelectionColor = Color.Blue;break;
}
}
}
}
//
//CONST中关键字高亮显示
private void mykeyword1()
{
string[] keywords = new string[5];
keywords[0]=mysearch.Text;
keywords[1]="=";
keywords[2]="0";
keywords[3]="int";
keywords[4]="const";
for(int i=0;i0)
{
index++;
switch(i)
{
case 0: codememo.SelectionColor = Color.Red;break;
case 1: codememo.SelectionColor = Color.Blue;break;
case 2: codememo.SelectionColor = Color.Green;break;
case 3: codememo.SelectionColor = Color.Blue;break;
case 4: codememo.SelectionColor = Color.Green;break;
//default:codememo.SelectionColor = Color.Blue;break;
}
if (index>codememo.TextLength) break;
}
}
}
//
private void button2_Click(object sender, System.EventArgs e)
{
this.fun_update();
}
private void isenable(int i_temp)
{
if (i_temp==0)
{
win9x.Enabled=true;
win2k.Enabled=true;
e_modify.Enabled=true;
e_add.Enabled=true;
b_modify.Enabled=true;
b_add.Enabled=true;
} else
{
win9x.Enabled=false;
win2k.Enabled=false;
e_modify.Enabled=false;
e_add.Enabled=false;
b_modify.Enabled=false;
b_add.Enabled=false;
}
}
private void button4_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
private void e_modify_CheckedChanged(object sender, System.EventArgs e)
{
if (e_modify.Checked) b_modify.Enabled = true; else b_modify.Enabled = false;
}
private void e_add_CheckedChanged(object sender, System.EventArgs e)
{
if (e_add.Checked) b_add.Enabled = true; else b_add.Enabled = false;
}
private void timer1_Tick(object sender, System.EventArgs e)
{
if (this.mat_text.TextLength>0)
mat_text.Text = mat_text.Text.Remove(0,1); else
mat_text.Text = oldscoll_text;
}
private void mat_text_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
timer1.Enabled = false ;
mat_text.Text = oldscoll_text;
}
private void codememo_TextChanged(object sender, System.EventArgs e)
{
}
private void tiplist_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
}
private void menuItem1_Click(object sender, System.EventArgs e)
{
Control ct = this.ActiveControl;
string temp = ct.Text;
Clipboard.SetDataObject(temp);
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
}
}
}
【文件预览】:
API精灵
----DataSet1.xsx(165B)
----Form1.cs(30KB)
----DataSet1.cs(14KB)
----bin()
--------Debug()
----DataSet1.xsd(1KB)
----obj()
--------Debug()
----API精灵.csproj.user(2KB)
----AboutForm.resx(10KB)
----API精灵.csproj(6KB)
----AboutForm.cs(6KB)
----App.ico(2KB)
----Form1.resx(26KB)
----AssemblyInfo.cs(2KB)