format Blog

给我个权限,我format你的硬盘.

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  61 随笔 :: 6 文章 :: 290 评论 :: 5 引用

2010年6月2日 #

HANDLE hFile=CreateFile(_T("D:\\test.txt"),
        GENERIC_WRITE,FILE_SHARE_WRITE,NULL,
        CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
//创建文件
if (hFile == INVALID_HANDLE_VALUE) //判断是否创建成功

    ErrorHandler(
"Could not open file.");   // process error 
    return 0;

DWORD   dwBytesWritten, strSize; 
//写入长度,准备写入的字符的长度
TCHAR buff[]=_T("Hello 我的电脑");
int length=sizeof(buff)/sizeof(TCHAR); //字符串长度
char* dest=new char[];//初始化转换为char目标指针
WideCharToMultiByte( CP_ACP, 0, buff,-1,
        dest, 
sizeof(buff), NULL, NULL );//把宽字节转换为char也就是byte
strSize=strlen(dest);//获得转换后字符的长度
WriteFile(hFile, dest,strSize , 
    
&dwBytesWritten, NULL); //写入文件
CloseHandle(hFile); //关闭文件

 

posted @ 2010-06-02 13:42 format 阅读(113) 评论(0) 编辑

一定要把方法声明成为静态方法,这样才能取到函数的地址。

例如:

这样什么回调函数:

static INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);

 

在用的时候需要取地址:

this->hWnd=CreateDialog(hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), NULL, &FormatDlg::About);

 

 

我所理解的需要静态方法的原因:只有静态方法才能在编译时候取到固定的函数地址,如果是动态的是在运行时产生地址不固定,所以一定要用静态方法。

posted @ 2010-06-02 12:02 format 阅读(159) 评论(0) 编辑

一般CreateWindow创建窗口,但是要在程序一开始要显示资源文件的对话框需要用CreateDialog,DialogBox不返回hWnd参数。

 

函数说明

CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc)
hInstance 当前实例
lpName  资源名称
hWndParent 父窗口
lpDialogFunc 回调函数

posted @ 2010-06-02 11:53 format 阅读(132) 评论(0) 编辑