我对C ++编程相对较新,目前正在使用Visual Studio 2012 API。我的操作系统是Windows 7 64位。我想用C ++编写一个程序,它显示一个带有简单关闭消息的消息框或窗口,例如: '关闭.....'或者当我关闭特定应用程序时类似的东西。我希望这个窗口会在应用程序退出时间内显示,然后关闭。
是否可以创建一个句柄,该句柄将在突然关闭时检索正在运行的应用程序的退出时间?如果是这样,我怎么能在显示消息框的语句中使用此退出时间?
我很欣赏建设性的批评,因为我对这门语言不熟悉。真诚地感谢您提供的任何建议。如果需要,我将显示所有源代码。
我不认为这是解决此问题的正确方法,但无论如何,下面是我一直在玩的代码片段,作为更大的VS Win32应用程序项目的一部分:
LPTSTR lpchText(_T("Shutting down...."));
LPFILETIME lpExitTime = 0; //Initialise
TCHAR Buffer[_MAX_PATH];
DWORD size = _MAX_PATH;
LPCTSTR lpStr(_T("C:\Program Files\Common Files\ExampleApp.exe")); // Path to executable app.
AssocQueryString( ASSOCF_OPEN_BYEXENAME,
ASSOCSTR_EXECUTABLE,
lpStr,
NULL,
Buffer,
&size
);
GetProcessTimes(
AssocQueryString,
NULL,
lpExitTime,
NULL,
NULL
);
while(lpExitTime){
MessageBoxEx(
_In_opt_ hWnd,
_In_opt_ lpchText,
_In_opt_ lpCaption,
_In_opt_ MB_ICONEXCLAMATION
,0
);
};
return TRUE;
enter code here
答案 0 :(得分:1)
我想关闭应用程序是一项冗长的操作,否则普通应用程序将被关闭得如此之快,以至于用户将无法真正看到窗口。
但当然有可能,在元代码中这就是步骤。
附加到其他进程存在一些安全问题,因此它可能不适用于普通用户。
要探索的其他选项是在电源Shell脚本中处理它,或者创建一个小型启动器应用程序,然后启动实际的应用程序。
是否可以选择修改应用程序本身以获得此功能?