草庐IT

c++ - 如何使用 PostThreadMessage 从 C++ 关闭 Internet Explorer

我正在尝试启动iexplore.exe让它运行5秒钟,然后再次将其关闭。iexplore打开很好,但是当我调用PostThreadMessage时它没有关闭。谁能看到我做错了什么?这是我的代码:CStringIEPath="C:\\ProgramFiles\\InternetExplorer\\IEXPLORE.EXE";//GetIEPath();//IEPath+=''+url;std::stringstrCommand((LPCTSTR)IEPath);PROCESS_INFORMATIONprocinfo;STARTUPINFOstartupinfo;GetStartupInf

windows - 将 32 位应用程序安装到 C :\Program Files\instead of the C:\Program Files(x86)\? 中会产生什么负面影响

将遗留32位应用程序安装到C:\ProgramFiles而不是C:\ProgramFiles(x86)会产生什么负面影响? 最佳答案 根据您的应用程序,它可能会导致问题。例如,如果您的应用查询ProgramFiles文件夹,WOW仿真层将返回ProgramFiles(x86)。因此,如果您尝试查找与安装位置相关的内容,您将会失败。 关于windows-将32位应用程序安装到C:\ProgramFiles\insteadoftheC:\ProgramFiles(x86)\?中会产生什么负面

c++ - 等同于 MFC 窗口的 OnFinalMessage?

ATLCWindow类有一个有用的虚方法OnFinalMessage,它会在窗口的最后一条窗口消息被处理后调用-此时可以安全地销毁或删除与窗口关联的任何对象。从MFCCWnd类派生的窗口是否有任何等效项? 最佳答案 PostNcDestroy()正是您要找的。顺便说一句,如果您要实现无模式对话框并正在寻找“删除此内容”的位置,PostNcDestroy()就是合适的地方。 关于c++-等同于MFC窗口的OnFinalMessage?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何使用非托管 C++ 在 Windows 上获取已安装字体的列表?

我进行了一些探索,到目前为止我已经找到了EnumFontFamiliesEx(...)。但是,看起来此函数用于返回给定字体(例如“Arial”)的所有字符集。我一开始不太明白如何获取已安装字体的列表。任何帮助/建议将不胜感激。提前谢谢你。 最佳答案 你可以这样做:LOGFONTlf;lf.lfFaceName[0]='\0';lf.lfCharSet=DEFAULT_CHARSET;HDChDC=::GetDC();EnumFontFamiliesEx(hDC,&lf,(FONTENUMPROC)&EnumFontFamExProc

c++ - 异步 Windows 控制台输入同时输出

我在尝试读取输入的同时输出时遇到问题。我的游戏需要一个服务器控制台,它可以在输出的同时接收输入并且不会弄乱缓冲区。例如,我正在输入“Helloworld”,在此过程中,玩家死亡、击杀等信息被输出到控制台,结果如下:Hello*PlayerkilledPlayer2*world提前致谢 最佳答案 为什么不生成一个GUI窗口,而不是直接将输出写入控制台?然后,只有一个区域用于输出,底部有一个单独的输入区域,您可以在其中键入命令。有点像irc客户端的样子。如果它只能是控制台,我会建议使用ncurses(或PDCurses)之类的东西来创建

c - 仅获取我自己的应用程序的最顶层窗口 - 在 C 中

我正在使用以下代码获取最顶层窗口的句柄:HWNDhwnd;hwnd=GetForegroundWindow();问题在于它会返回系统范围内的最顶层。有没有什么方法可以只从我自己的应用程序中获取最顶层?我只想获得我的应用程序的最顶层窗口。这意味着,我需要一个API来让我自己的应用程序成为最顶层窗口,而不是像GetForegroundWindow()那样成为系统范围内最顶层窗口。谢谢!编辑:好吧,让我在这里说清楚。我的问题是我能够获得不属于我的应用程序的窗口的HWND。我想得到的是仅适用于我的应用程序的TOPMOST。如果HWND属于另一个应用程序,那么我不应该获取该信息。

java - 在 VisualStudio 2003 中调试 JNI 代码

如何在不使用eclipse的情况下调试VisualStudio2003中的JNI代码? 最佳答案 http://www.velocityreviews.com/forums/t152740-jni-debugger.htmlSUMMARY:Basically,theideaisthatyoustartyourJavaprogramunderEclipse,andthentellVCtoattachtotherunningprocesstoo. 关于java-在VisualStudio20

c++ - 监听套接字意外死亡

我遇到了一个问题,TCP套接字正在监听一个端口,并且已经完美地工作了很长时间-它处理了多个连接,并且似乎可以完美地工作。但是,有时在调用accept()创建新连接时,accept()调用会失败,并且我会从系统中收到以下错误字符串:10022:提供了无效参数。显然,当您在不再监听的套接字上调用accept()时,可能会发生这种情况,但我自己并没有关闭套接字,也没有收到该套接字上的任何错误通知。谁能想到监听套接字停止监听的任何原因,或者上述错误是如何产生的? 最佳答案 一些可能性:您的代码的其他部分覆盖了句柄值。检查它是否已更改(在其他

c++ - 写入文件函数 "freezes"

我正在尝试重写xCmd,它可以在远程机器上启动进程。基本上,它将自身作为服务安装在目标计算机上,然后启动请求的进程。一切正常,但我注意到一个错误。xCmd通过管道进行通信,它使用WriteFile()。我的问题是,如果我运行我的API(或最初的API,两者都会产生此错误),那么它将第一次启动请求的进程,但如果我再次启动它,那么它将“卡住”在这一行:WriteFile(hCommandPipe,&msg,sizeof(msg),&dwTemp,NULL);WriteFile没有返回任何错误代码,程序就在这里停止。我什至无法关闭cmd窗口。当我关闭目标计算机上的服务时,我只能关闭它。谁能帮

c++ - 发送消息到不同的线程

是否有任何API可以向线程发送消息?基本上我只有threadId可用,我想向该线程发送自定义消息。 最佳答案 PostThreadMessage。虽然不是很可靠。查看旧新事物博客here和here有关原因的详细信息。基本上模态消息循环把整个想法搞得一团糟。由于发布到线程的消息没有窗口句柄,因此调用DispatchMessage将丢弃该消息。您运行的任何模态循环(直接或间接)都会调用DispatchMessage,因此大部分时间此策略都会失败并且您的消息会消失在以太中。 关于c++-发送消