本人做个了一个exe文件
在里面做了一个保存对话框。
运行在64位的win7系统中,不知道为什么在有的机器环境中,直接启动该保存对话框,只能是在
任务栏上,并不能在置于桌面窗口的最前面。
由于启动该exe的程序是个无窗口的后台程序,是64位win7下的sqlwow64进程。
求助一下,能不能有什么好的办法使得该exe的对话框 置于窗口的最前面。
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
TCHAR pszFileName[256] = _T("");
UINT uRet = SaveDialog(lpCmdLine);
return TRUE;
}UINT SaveDialog(TCHAR* pszFilePath)
{
BOOL bRet = FALSE;
   
 
OPENFILENAME ofn;
TCHAR szBuff[256];
BOOL bEnSystem = FALSE;
TCHAR szExt[MAX_PATH];
int nLen = 0;
memset(szExt, 0, MAX_PATH); lstrcpy(szExt,  _T("PQ文档(*.PQ)"));
nLen = lstrlen(_T("PQ文档(*.PQ)"));
lstrcpy(&szExt[nLen+1], _T("*.PQ"));
int cbPath = MAX_PATH;
if (pszFilePath == NULL || cbPath <= 0)
return FALSE;

if (lstrlen(pszFilePath) > cbPath)
pszFilePath[0] = 0;
memset(&ofn,0,sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hInstance = hInst;
ofn.hwndOwner = NULL;
ofn.lpstrFilter = szExt;
ofn.lpstrCustomFilter = NULL;
ofn.lpstrFile = pszFilePath;
ofn.nMaxFile = cbPath; if (bEnSystem)
{
ofn.lpstrTitle = _T("Input save filename");
}
else
{
ofn.lpstrTitle = _T("输入保存文件名");
}
ofn.Flags = OFN_EXPLORER|OFN_NOREADONLYRETURN|OFN_NONETWORKBUTTON;//|OFN_ENABLETEMPLATEHANDLE;//|OFN_ENABLEHOOK| OFN_ENABLETEMPLATE|

bRet = GetSaveFileName(&ofn);
if(bRet)
{
std::wstring str;
str=  pszFilePath;
if (str.find(_T(".PQ"))==-1)
{
lstrcat(pszFilePath, _T(".PQ")); }

}
else
{
pszFilePath[0] = 0;
}
}