时间:2021-05-19
代码如下:
复制代码 代码如下:
OPENFILENAME ofn;
WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];
memset(&ofn, 0, sizeof(ofn));
memset(szFile, 0, sizeof(WCHAR)*512);
memset(szFileTitle, 0, sizeof(WCHAR)*512);
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = yMain->m_hWnd;
ofn.hInstance = yMain->m_hInst;
ofn.lpstrFilter = L"All File\0*.*\0";
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(WCHAR)*512;
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof(WCHAR)*512;
ofn.Flags = OFN_FILEMUSTEXIST | OFN_EXPLORER;
// 按下确定按钮
BOOL ok = GetOpenFileName(&ofn);
if( ok ){
MessageBox(hWnd, L"23", L"44", MB_OK);
}
delete []szFile;
delete []szFileTitle;
其中,有个地方需要注意一下,要是不使用以下的处理话,会出现无法弹出浏览窗口界面的问题:
复制代码 代码如下:
WCHAR* szFile = new WCHAR[512];
WCHAR* szFileTitle = new WCHAR[512];
关于这两个变量,最好就需要先分配空间,如果直接定义为数组的话,就会导致浏览文件的窗口弹不出来。原因在于,这两个变量是局部变量,定义为数组的话,空间占用太大了,无法自动分配出来,需要专门分配内存才行。
上述代码在debug和release版中都测试过,可以正常的弹出打开的窗口。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下:#include#include//声明窗口函数LRESULTCALLBACKWindowProc(HWN
1.vs工程类型相关知识在使用vs创建工程时,如果在“模板”中选的是“Win32”,不管是“Win32控制台应用程序”、还是“Win32项目”,工程创建完成后,
本文介绍了使用Win32API枚举所有窗口的方法,主要是调用了API的EnumWindows函数来实现的。下面是具体的步骤:(1)声明一个委托函数用于Win32
windows提供win32api给供程序员执行各种各样的操作,所以win32控制台,win32项目,mfc应用程序都可直接调用win32api。但直接使用wi
PowerDNS是一个跨平台的开源DNS服务组件,PowerDNS同时有Win32和Linux/Unix的版本。PowerDNS在Win32下使用Access的