Tag: 窗口

注册Windows类Win32

注册win32程序的窗口类的最佳做法是什么? 您是否在WinMainfunction中注册每个课程或者是否需要?

预期的标识符还是什么?

我在下面的DEV C ++中发布了类型代码,这是一个更新版本,Orwell。 它给了我一些错误,我希望你帮助我:)他们已经修复了大多数错误,但其中一些我无法解释。 我只是想做简单的MS应用程序。 编译器给我这个错误: LINE 53 [错误]预期标识符或’(”””之前的标记 代码: # include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); int WinMain (HINSTANCE hinstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT (“HelloWin”); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW| CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; […]

停止服务之前的WTSSendmessage

我试图在用户尝试停止服务时显示一个消息框。 为此,我使用了WTSSendmessage API ……一旦发生SERVICE_CONTROL_STOP事件,我就调用了该函数。 我在上面的步骤是对的吗? 因为一旦用户试图停止服务,我没有收到消息框。 请指导我…… 以下是我的代码片段:: case SERVICE_CONTROL_STOP: WTSSendMessage = (fptr1)GetProcAddress(hinstLib, “WTSSendMessage”); BOOL ret = WTSSendMessage(WTS_CURRENT_SERVER_HANDLE, dwSession, lpszTitle, 12 ,lpszText, 7 ,MB_YESNO|MB_ICONINFORMATION, 0, &res, TRUE); ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING; SetServiceStatus( serviceStatusHandle, &serviceStatus ); SetEvent( stopServiceEvent ); return;

如何启动进程并等待其子进程完成

有没有办法启动进程,并等待其子进程完成? 我的问题如下。 我有一个setup.exe。 如果我启动它,它运行4-5秒并启动1或2个新进程,setup.exe关闭。 如果我使用createprocess和WaitForSingleObject启动setup.exe,那么它将等待,直到setup.exed关闭。 有没有办法,等到setup.exe启动的新进程完成后呢? 谢谢

WinApi Win32编程 – 按钮单击不发送WM_COMMAND消息

我一直在制作一个标签控制程序,并且最近才在StackOverflow上发布了求助信息。 目前该计划运行如下: 从winMain开始,创建main_hwnd生成WM_CREATE并wndProc tab_hwnd创建为SysTabControl32 tab0_hwnd , tab1_hwnd ,…, tab4_hwnd已创建 在tab0_hwnd ,创建静态文本和按钮 返回winMain并在main_hwnd , tab_hwnd和tab0_hwnd上调用ShowWindow() 输入循环直到程序关闭。 程序运行时,一切都可见; 但是,按钮无法正常工作。 同时,当我使用GetLastError()和FormatMessage()搜索错误时,我发现在创建Windows tab#_hwnd (其中#= 0,1,2,3和4)后,出现以下错误: 错误6:句柄无效 我不确定为什么会出现此错误以及该按钮无效的原因。 另一位用户在上一篇文章中建议了以下内容: “ WM_COMMAND被发送到直接父窗口,而不是祖父母,因此您也必须将选项卡控件子类化,或者让您的按钮将主窗口作为父窗口。” – Anton Kovalenko 编辑1:我不确定如何按照Anton Kovalenko的建议对我的选项卡控件进行子类化。 任何指向教程/解释注释的链接都非常有用。 这是当前的代码: #define WIN32_LEAN_AND_MEAN #pragma comment(lib, “comctl32.lib”) #define ID_FILE_EXIT 101 #define ID_HELP_ABOUT 102 #define ID_B_BLANK 1001 #define ID_B_HOME 1002 #define ID_B_SAVE 1003 #include #include […]

如何使用c ++从启动列表中删除程序

我试图从启动列表中删除应用程序但没有成功,错误代码为零,所以需要帮助我的function代码是 string appName=”someapp”; REGSAM flag = KEY_WOW64_64KEY; HKEY hkey = HKEY_LOCAL_MACHINE; RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT(“SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run”),NULL, KEY_READ | KEY_WRITE | flag,&hkey); RegDeleteValue(hkey,appName.c_str()); cout<<"\n error code is "<<GetLastError(); RegCloseKey(hkey);

更改窗口的不透明度/隐藏它而不影响其子项

我只是有一个绘图区域,包含在GtkWindow顶层。 如何隐藏窗口/使其完全透明而不对其子项进行操作(在这种情况下是绘图区域)? 我的目标是这个程序绘制的所有内容都只是canvas图。

如何在Windows上运行的C中获取可执行文件的路径?

-getcwd至少在使用VS 2010进行调试时不会返回它。 由于我正在使用的用户界面工具包,-i无法访问main的参数 那有什么可做的吗? PS。 请在将此标记为重复之前注意这些限制

Win32消息循环:使用GetMessage(&msg,NULL,0,0)关闭窗口后退出?

如果我在下面有以下代码,如何检测窗口何时关闭,以便我可以退出? 似乎永远不会得到值-1 0 ,我需要处理整个线程的消息,而不仅仅是当前窗口。 HWND hWnd = CreateWindowExW(0, L”Edit”, L”My Window”, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 300, 200, NULL, NULL, NULL, NULL); ShowWindow(hWnd, SW_SHOWDEFAULT); MSG msg; BOOL r; while ((r = GetMessageW(&msg, NULL, 0, 0)) != 0) { if (r == -1) { break; } TranslateMessage(&msg); DispatchMessageW(&msg); }

GTK C – 如何编辑关闭窗口按钮的function(右上角的X按钮)?

我想知道如何编辑使用GTK库创建的窗口右上角的“关闭”按钮(或最小化/最大化按钮)。 我试图删除用户破坏此窗口的能力,只允许顶级窗口销毁它,所以我想让右上角的X按钮(关闭窗口)只隐藏窗口而不是关闭窗口 – 仍允许它在后台运行。 我对gtk有点新,我在创建窗口和添加按钮方面经历了一些初学者教程,但没有什么非常先进的。 我假设这可以通过在窗口上使用gtk_window_hide调用来代替X按钮的当前function来完成,但我不知道在哪里使用它,因为默认按钮的function似乎不容易访问。