第二个参数的名字就已经说明了这个用法的意义,因为传递的是线程使用的参数数据,因此我们实现不同的线程回调函数的时候,我们使用的参数的数量和大小都不一样,所以函数API就提拱了一个无类型的指向指针的指针接口,这样所有类型的参数都可以通过一个统一的结构体进行传递,例子如下:
struct ThreadData {
int arg1;
char arg2;
//其他你需要传递的参数表
} td1;
这样赋值以后 的td1指向的内容就可以通过&td1传递到线程中去。
1、CreateFile 是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。
2、例程:
#include <windowsh>int main()
{
HANDLE hf = CreateFile(TEXT("C:\\testabin"), GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
DWORD written;
WriteFile(hf, "\x0f\xff\xff\xff\xff\xff", 6, &written, 0);
CloseHandle(hf);
hf = CreateFile(TEXT("c:\\testbbin"), GENERIC_WRITE, 0,
0, OPEN_ALWAYS, 0, 0);
SetFilePointer(hf, 0, 0, FILE_END);
WriteFile(hf, "\x0f\xff\xff\xff\xff\xff", 6, &written, 0);
CloseHandle(hf);
return 0;
}
lpszTemplateName
Contains a null-terminated string that is the name of a dialog-box template resource
你可以理解为就是个ID号,比如IDD_DIALOG1。你可能需要在resouseh中定义IDD_DIALOG1
比如#defile IDD_DIALOG1 111111111
(1)窗口创建函数
这里主要讨论函数Create和CreateEx。它们封装了Win32窗口创建函数::CreateWindowEx。Create的原型如下:
BOOL CWnd::Create(LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect,
CWnd pParentWnd, UINT nID,
CCreateContext pContext)
Create是一个虚拟函数,用来创建子窗口(不能创建桌面窗口和POP UP窗口)。CWnd的基类可以覆盖该函数,例如边框窗口类等覆盖了该函数以实现边框窗口的创建,视类则使用它来创建视窗口。
Create调用了成员函数CreateEx。CWnd::CreateEx的原型如下:
BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpszClassName,
LPCTSTR lpszWindowName, DWORD dwStyle,
int x, int y, int nWidth, int nHeight,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)