草庐IT

WM_APP_MY_THREAD_UPDATE

全部标签

c++ - 在 win32::WaitForSingleObject 期间 Windows 上的 Boost.Thread 断言/崩溃

我的代码中有一个很少发生的问题会触发断言,涉及Boost.Thread库。我无法使用独立示例重现此问题,而且我也不知道是什么原因造成的,因此很难提供示例案例。我希望任何熟悉boost.thread内部结构的人都能提供帮助。这是我知道的:问题发生在boost::lock_guard(或unique_lock和普通非递归互斥锁的变体)被声明。它发生在Boost.Asio的处理函数中。堆栈上是执行io_service::run的线程,一堆调用Asio回调函数的胶水,然后是我的回调函数(由async_write调用触发)。该函数的第一行是lock_guard的声明这是导致问题的原因。this我

windows - CreateDialogParam 从不调用 WM_INITDIALOG

我在.rc文件中定义了一个对话框:IDD_DIALOG_AUTHENTICATIONDIALOGEX0,0,214,138STYLEDS_SETFONT|DS_MODALFRAME|DS_SETFOREGROUND|DS_3DLOOK|DS_FIXEDSYS|WS_POPUP|WS_VISIBLE|WS_CAPTIONCAPTION"Dialog"FONT8,"MSShellDlg",400,0,0x1BEGINDEFPUSHBUTTON"Validate",ID_BTN_VALIDATE,102,117,50,14PUSHBUTTON"Exit",ID_BTN_EXIT,157,11

c++ - 模态消息循环中的 WM_CLOSE

我正在为自定义对话框使用特殊的消息循环。当对话框打开并且窗口关闭时,我想达到下面的第二个if(msg.message==WM_CLOSE)。for(;;){if(PeekMessage(&msg,0,0,0,PM_NOREMOVE)){if(msg.message==WM_CLOSE){GetMessage(&msg,0,0,0);break;}else{if(GetMessage(&msg,0,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}if(msg.message==msgEnd)break;}}问题是此if中的代码从未达

windows - 假设 GetDC(hWnd) 作为 WM_CREATE 上的第一条指令被调用,对于窗口 hWnd,GetDC() 是否有可能返回 NULL?

假设GetDC(hWnd)作为WM_CREATE上的第一条指令被调用,对于窗口hWnd,GetDC()是否可能返回NULL?我担心GetDC()可能因资源不足而失败。当发生这种情况时,我应该检查错误吗?调用失败怎么办?Win32API函数会引发异常还是我应该引发异常? 最佳答案 GetDC()确实会失败,无论您何时何地调用它。在处理API时,您应该采取相当悲观的观点,并为任何API函数失败做好准备。正如您所建议的,失败的一个可能原因是系统资源耗尽,例如内核句柄、GDI对象等。所以你应该经常检查错误。不仅是GetDC(),对API函数

c# - 在安装时设置 .NET Windows 服务的角色...从 app.config 设置

我有一项服务,在安装时会将Myapp.exe.config文件(基于app.config文件生成)放入安装目录。在安装过程中,我需要此文件的详细信息来配置安装。特别是我需要调整我服务的ServiceProcessInstaller实例的帐户/用户名/密码字段,以便在它运行时以特定用户身份运行。但是,在安装过程中,安装程序尚未设置我的注册表设置,也没有将我的Myapp.exe.config复制到安装目录...所以我无法提取这些值,这意味着我的服务无法安装作为正确的用户。我现在能做到的唯一方法是将用户/传递值硬编码到ProjectInstaller类中,但我不能让自己这样做。这是错误的。是

windows - 阻止 WM_DEVICECHANGE 调度

我正在开发一个Windows7应用程序,它必须防止WinDVD在插入时触发新光盘可用性(即插入DVD)。背景信息:我正在为一家公司开发这个小应用程序,该公司必须同时比较两个电影播放器​​同时播放来自不同驱动器的同一张DVD。他们正在进行启发式质量测试,以确定目前最好的DVD播放器,并将其捆绑到他们的新PC系列中。目前他们最好的选择似乎是WinDVD,因此所有其他测试都必须针对它进行。问题是,当他们插入第一张DVD时,默认播放器WinDVD启动就没问题了。然后当他们插入第二张光盘时,默认播放器首先响应,因此他们被迫关闭窗口并打开他们正在测试的另一个播放器。这是为许多电影完成的,这些电影代

c++ - WM_PAINT 什么时候被调用?

WM_PAINT究竟是什么时候被调用的?我试图创建一个基于对话框的老虎机应用程序,但我遇到了几个逻辑问题。我的申请将包括:“旋转”按钮退出按钮三个BMP图像显示旋转结果(硬币/心/士兵)如何使用BMP图像显示旋转的最终结果?我使用WM_PAINT尝试显示图像是否正确,每次用户按下旋转按钮以显示新图像时我将如何刷新屏幕?非常感谢您的帮助! 最佳答案 对话框通常使用DefDlgProc作为窗口过程。您不能在DialogProc中处理WM_PAINT(它不是窗口过程)。Youcanuseyourownwindowprocedurewith

c# - 在 Windows 8 App 中使用 C# 从 NTP 服务器获取时间

我需要开发一个从NTP服务器获取当前时间的应用程序,但我在Windows8应用商店应用程序中找不到任何示例。如果我尝试使用普通的C#类,它是行不通的。有谁知道如何解决这个问题? 最佳答案 我强烈建议避免从HTML页面解析字符串-轻微的View格式更改会破坏您的应用。基于thisanswer中提供的示例,这里是DatagramSocket适应以获得适当的DateTime对象:DatagramSocketsocket=newDatagramSocket();socket.MessageReceived+=socket_MessageRe

windows - 通过 app-id 静态 html 链接到 WP7 应用程序

我想创建一个从我的应用程序到另一个应用程序的链接。我曾经在msdn上读到过,你可以只打开一个具有特定模式的url(例如windowsphone.com/apps/),但我再也找不到这个文档了。这仍然可行吗,还是有其他方法可以链接到其他应用程序? 最佳答案 我认为这种格式应该有效:www.windowsphone.com/s?appid=fd40c569-2681-48df-9ff3-53ffd80aa9b5 关于windows-通过app-id静态html链接到WP7应用程序,我们在St

java - 从另一个 Java App 中查找并终止特定的 Java 进程

我有几个java进程在Windows机器上运行。我有一个Java进程,它应该监视其他进程并定期终止或重新启动新进程。如果我有一个运行com.foo.Main1的java进程和一个运行com.foo.Main2的java进程-我的监控进程如何才能找到并杀死Main2进程?更新:我有一些代码可以执行命令行tasklist.exe并解析它,但无论我做什么,我只看到java.exe进程,而不是哪个类正在执行更新2:我无法安装非Java程序。 最佳答案 使用特定于操作系统的工具并使用Runtime.exec()运行它们可能会简单得多,但我会尝