12 2012 档案
摘要:PHP代码: 1 <?php 2 echo "创建一个目录的情况**************************<br>"; 3 //在E盘创建文件夹“WEB开发” 4 if (!is_dir("e:/WEB开发") && mkdir("e:/WEB开发")) { 5 echo "文件夹创建成功"; 6 }else{ 7 echo "文件夹创建失败"; 8 } 9 echo "<br>创建递归目录的情况*****************
阅读全文
摘要:在解析C#结构体指针前,必须知道C#结构体是如何定义的。在c#中同样定义该结构体。C#结构体指针之C#结构体的定义:[StructLayout(LayoutKind.Sequential)] public struct VGAStat { public int ChannelNum;//通道数量 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)] public char[] Version;//版本信息 public uint CPUUsage;//CPU占用 public bool WorkStatusOk...
阅读全文
摘要:/*****************************************************************************\* ** commctrl.h - - Interface for the Windows Common Controls ** ...
阅读全文
摘要:Windows Message CodesSorted by NameSorted by CodeMessageCode CodeMessage WM_ACTIVATE0x0006 0x0000WM_NULL WM_ACTIVATEAPP0x001C 0x0001WM_CREATE WM_AFXFIRST0x0360 0x0002WM_DESTROY WM_AFXLAST0x037F 0x0003WM_MOVE WM_APP0x8000 0x0005WM_SIZE WM_AP...
阅读全文
摘要:LVN_BEGINDRAG 鼠标左键正在被触发以便进行拖放操作(当鼠标左键开始拖拽列表视图控件中的项目时产生)LVN_BEGINRDRAG 鼠标右键正在被触发以便进行拖放操作(当鼠标右键开始拖拽列表视图控件中的项目时产生)LVN_BEGINLABELEDIT 开始编辑项的文本LVN_COLUMNCLICK 单击列(当鼠标单击列表视图控件列标题时产生)NM_CLICK 当鼠标单击列表视图控件时产生LVN_COLUMNCLICK 单击列LVN_DELETEALLITEMS 删除所有项LVN_DELETEITEM 删除某个项NM_DBLCLK 当鼠标双击列表视图控件时产生LVN_ENDLABELED
阅读全文
摘要://鼠标软模拟:好处就是不会真的移动鼠标 开始按钮 坐标 x=386y=387 SendMessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$0180017A); //按下鼠标左键SendMessage(hookHwnd,messages.WM_LBUTTONUP ,0, $0180017A); //抬起鼠标左键//硬件模拟:会真的移动鼠标mouse_event(MOUSEEVENTF_LEFTDOWN,X ,Y ,0,0);mouse_event(MOUSEEVENTF_LEFTUP,X ,Y ,0,0); 函数功能 该函数将指定的消息发送到一个...
阅读全文
摘要:1 Windows窗口消息大全,全不全自己看 2 3 ////////////////////////////////////////////////////////////////////////// 4 #include "AFXPRIV.H"//消息值的定义来源 5 #include "Dde.h"//DDE消息值的定义来源 6 #include "CPL.H"//控制面板消息值的定义来源 7 #include "WFEXT.H"//文件管理器的消息值的定义来源 8 #include "vfw.h&
阅读全文
摘要:最近做的winform程序使用了DataGridView,在清除DataGridview的数据时遇到个问题。我想要清空DataGridview的数据,用了DataGridview.Rows.Clear(),这时就出错了,提示“不能清除此列表”。以前也遇到过,那时的解决办法就是重新绑定数据,也没仔细想为什么不能Rows.Clear()。于是搜索了下,用数据源绑定的DataGridView不能用Rows.Clear()清除,手动添加的是能够用clear()的。所以将datasource设置为null就可以清空数据,但是这不是我要的效果,这样会将DataGridView的列也删掉。想要保持原有的列用
阅读全文
摘要:源码下载:http://download.csdn.net/detail/php_fly/4923388需求:获取其他程序中的ListView控件的文本内容原理:进程之间是相互隔离的,数据是不能共享的(有些特例) LVM_GETTITEMTEXT:将一个数据缓冲区提供给listview32控件,你不能把你的进程的数据缓冲提供给另外的程序,所以要用openprocess打开“任务管理器”进程,然后 在“任务管理器进程”中申请足够长度的内存(VirualAllocEx),将这个内存地址提供给listview32,使用sendmessage发送LVM_GETTITEMTEXT消息,待send...
阅读全文
摘要:列表视图控件(List Control)列表视图控件是一种非常常用的控件,在需要以报表形式显示数据时,列表控件通常是最好的选择,许多专用的数据报表控件,也是在它的基础上派生而来。与树视图类似,列表控件可以由多个子项目组成,并且支持大图标、小图标、列表和报表4种方式显示信息,如图1所示。图1 列表视图的4种显示方式列表视图包含一个项目列表,而其中每个项目由图标、项目名称和多个子项组成,每一个子项所包含的项目的数目必须相同,属性相同的每个子项显示在同一个列中。列表视图控件有两个重要的数据结构LVCOLUMN和LVITEM。LVCOLUMN用于定义报表方式下的“列”的结构;LVITEM用于定义“项”
阅读全文
摘要:一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值。其实这里遍历的只是高亮的值并不是打勾的值。遍历打勾的值要用下面的代码:for (int i = 0; i < checkedListBox1.Items.Count; i++){ if (checkedListBox1.GetItemChecked(i)) { MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i])); }}参考:最近用到check...
阅读全文
摘要:SendMessage函数功能描述:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口过程,直到窗口过程处理完消息后才返回。Postmessage函数则是将消息放入消息队列里,并立即返回。PostThreadMessage函数: BOOL PostThreadMessage(DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam ); 它可以用于线程之间的异步通讯,因为它不用等待调用者返回,.常见问题1)使用SendMessage来实现剪切、复制和粘贴SendMessage(hwnd, WM_COPY, 0, 0);SendM..
阅读全文
摘要:C#SetWindowPos窗口置顶[DllImport("user32.dll", CharSet = CharSet.Auto)]private static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags);/// <summary>/// 得到当前活动的窗口/// </summary>/// <returns></returns>[DllImport(&quo
阅读全文
摘要:C# SetCursorPos用法函数功能:该函数把光标移到屏幕的指定位置。如果新位置不在由 ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。函数原型:BOOL SetCursorPOS(int X,int Y);参数:X:指定光标的新的X坐标,以屏幕坐标表示。Y:指定光标的新的Y坐标,以屏幕坐标表示。返回值:如果成功,返回非零值;如果失败,返回值是零,若想获得更多错误信息,请调用GetLastError函数。备注:该光标是共享资源,仅当该光标在一个窗口的客户区域内时它才能移动该光标。C#中使用该函数首先导入命名空间:using System.Runti
阅读全文
摘要:函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。函数原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect);参数:hWnd:窗口句柄。lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。C#中使用该函数首先导入命名空间:using System.Runtime.InteropServices;然后写API引用部分的代码,放入 class 内部[DllImport(&q
阅读全文
摘要:通过子窗口向外引发一个事件,父窗口去实现该事件,我们可以再不关闭父窗口和子窗口的情况下进行数据的传输显示思路:在子窗口“添加用户”的中通过点击"添加用户",会动态的向外引发一个事件,通过该事件,我们可以进行数据传递在其他窗口中,可以来响应该事件其中,子窗口只负责向外引发一个事件,将事件的实现方法委托...
阅读全文
摘要:窗体间的数据传递的几种方法:1.通过子窗体的Tag属性2.借助第三方的一个静态变量3.通过父窗体的Tag属性局限性:必须得有一个窗体已经关闭,数据才能传递过去那如果,我们想在都不关闭任何窗体的情况下进行数据传递,该如何操作?在我的另外一篇博文中(WinForm中窗体间的数据传递(二))可以借助向外引...
阅读全文
摘要:知识点:枚举类型的使用当某个方法暂时不想去实现的时候,最好在方法体中写上:throw new NotImplementedException()如何将图片资源引入到项目的属性中去设置控件的大小:pane.Size = new Size(paneWidth,paneHeight);设置控件的位置:pane.Location = new Point(paneLeft,paneTop);事件的动态绑定:pane.MouseDown += pane_MouseDown;如何定义事件并引发事 public delegate void MineSweepedSuccessEventHandler(...
阅读全文
摘要:<?/*******************************************************************************/error_reporting(E_ALL ^ E_NOTICE);require_once( 'http.inc.php' );require_once( 'class.Chinese.php');//成功2xx define( 'QQ_RETURN_SUCCESS', 200 ); define( 'QQ_LOGIN_SUCCESS', 201 ); def
阅读全文
摘要:1、找寻支持QQ HTTP协议的服务器。大家也许会被一些假像所迷惑,也许会认为QQ的HTTP服务器是基于80口进行通信的(如:218.17.209.23:80),其实不然,正真基于HTTP的服务器应该是:http://tqq.tencent.com:8000,它是一个通过8000口进行通讯的服务器。由于QQ的HTTP服务器并不支持HTTP协议中GET方法,它支持POST方法。所以我们要给QQ的HTTP协议传参数,那么就必需要用POST方式才行。2、C#和DELPHI是实现HTTP的POST方法的通信。C#: C#里System.Web空间下提供了一个叫做WebClient的对象,使用此对象就可
阅读全文
摘要:如何找到桌面上报错的窗口,不管是父窗口还是子窗口,而且获得它的出错信息呢?主要是利用API函数:[DllImport("user32.dll")]public static extern int FindWindowEx(int hwndParent, int hwndChildAfter,string lpszClass, string lpszWindow);[DllImport("user32.dll")]public static extern int FindWindow(string strclassName, string strWindo
阅读全文
摘要:FindWindow()函数的用法。要在C#里使用该API,写出FindWindow()函数的声明: [DllImport("coredll.dll", EntryPoint = "FindWindow")] private extern static IntPtr FindWindow(string lpClassName, string lpWindowName); 这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。有的窗口的标题是比较容易得到的,如"计算器"
阅读全文
摘要:在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为 falsepublic Form1(){InitializeComponent();CheckForIllegalCrossThreadCalls = false;}也可以针对某一控件进行设置,例如:TextBox.CheckForIllegalCrossThreadCalls = false;MSDN说明:如何:对 Windows 窗体控件进行线程安全调用使用多线程提高 Windows 窗体应用程序的性能时,必须注意
阅读全文