草庐IT

c++ - 如何禁用 win32 'interface' 宏?

我在这里绝对疯了。我正在Windows上进行一些C++开发,我有一个名为“interface”的命名空间:namespacegd{namespaceinterface{}}//endnamespace但是,无论我包含“Windows.h”还是“Wtypes.h”,都会包含一个名为“objbase.h”的文件,其中包含一个名为“interface”的宏。该宏不允许我使用命名空间名称。Win32API中是否有禁用接口(interface)宏定义的功能?如果没有,有人可以想出一个聪明的解决方法来禁用它,而不需要对我的代码库进行太多大规模更改吗? 最佳答案

c - 使用 gcc 编译 win32 项目时如何链接到库?

我正在尝试在Win7上使用gcc编译一个基本的hellowordwinform应用程序。代码是这样的:/*WINHELLO.C"Hello,world!",Win32style.*/#includeLRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);/*WinMain(),ourentrypoint*/intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRszCmdLine,intiCmdShow){staticcharszAppName[]="winhello";HW

c++ - 在 Windows 中不使用 Unicode 有什么缺点?

在Windows上不使用Unicode有什么缺点?我所说的Unicode是指WCHAR和广泛的API函数。(CreateWindowW、MessageBoxW等)不使用它会遇到什么问题? 最佳答案 在处理系统API时,您的代码将无法正确处理当前所选代码页之外的字符1。典型问题包括将不受支持的字符转换为问号、无法处理包含特殊字符的文本,尤其是名称/路径中包含“奇怪字符”的文件。此外,几个较新的API仅出现在“宽”版本中。最后,每个涉及文本的API调用都会稍微慢一些,因为API的“A”版本通常只是“W”API的薄包装,即即时将参数转换为

java - 在 java 应用程序中使用 winapi

我尝试在JAVA代码中调用MessageBoxA函数。以下方法有什么问题,以至于我的程序抛出了很多错误?packageloading.libraries;publicclassUser32{//firstcase:publicnativeintMessageBoxA(HWNDhWnd,LPCSTRlpText,LPCSTRlpCaption,UINTuType);//second:publicnativeintMessageBoxA(inthWnd,StringlpText,StringlpCaption,intuType);static{System.loadLibrary("Use

c++ - 检测哪个 USB 设备生成了输入

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我有2个键盘,我想知道是否可以知道哪个键盘在Windows中生成了输入事件(使用WINAPI)?

Windows API : write to screen as on screen display

我正在编写一个(非常)小的应用程序,它在开始时只执行一些小的事情,并且应该在屏幕上写一条类似于屏幕显示的消息:大字母,没有任何窗口,高于一切,可见片刻然后消失。如果可能我不想为它创建一个窗口。正确的做法是什么?(我希望不需要像DirectX、直接图形访问等特殊工具包) 最佳答案 正如评论中所指出的,您可以直接在屏幕上绘图。GetDC提供返回适当的设备上下文:hWnd[in]AhandletothewindowwhoseDCistoberetrieved.IfthisvalueisNULL,GetDCretrievestheDCfor

c++ - WINAPI CreateThread 并不总是运行线程

我正在尝试使用WindowsCreateThreadAPI创建和执行线程。我看到运行该程序会产生不确定的行为。我从程序的输出中看到,线程方法“my”有时会被执行,有时不会。这可能是什么原因?该程序非常简单,如下所示。还有应该用什么初始化dwThreadID。它应该是0还是任何整数值?PS:在VisualStudio中编译。#include"stdafx.h"#include#includeusingnamespacestd;//DWORDWINAPIDWORDWINAPImy(LPVOIDlpParam){for(inti=0;i 最佳答案

c++ - WINAPI 枚举WindowsProc : Non-Standard Syntax; use & to create a point to a member

我在调用EnumWindows(EnumWindowsProc,0)时不断收到错误消息;它将我的BOOLCALLBACKselectionWindows::EnumWindowsProc(HWNDhWnd,longlParam)函数转换为参数。我知道它与类和selectionWindows::有关,但我终究无法弄明白。这是.h#ifndefSELECTIONWINDOWS_H#defineSELECTIONWINDOWS_H#include#include"mainwindow.h"#include#includeclassselectionWindows:publicQWidget{

c++ - 如何捕获来自另一个进程的退出消息?

我想“监听”其他一些应用程序并决定在它终止时做什么。如何?编辑:这两个程序在同一台计算机上运行,​​我想知道何时关闭另一个程序。然后在另一个程序中执行操作。我无法修改其他程序代码。我可能会也可能不会从应用程序A启动应用程序B。我可以通过其到exe的完整路径来识别应用程序B。 最佳答案 正如Abyx所写,WaitForSingleObject(或者可能是WaitForMulipleObjects)是您需要的API函数。创建事件启动一个(工作)线程将事件句柄传递给线程->HANDLE1获取要监视的进程的句柄。参见HowcanIgetap

windows - 为什么有些控件没有窗口句柄?

我想获得一些控件的窗口句柄来用它做一些事情(需要一个句柄)。控件位于不同的应用程序中。奇怪的是;我发现许多控件没有窗口句柄,例如Windows资源管理器中工具栏(?)中的按钮。只需尝试获取文件夹/搜索/(等)按钮的句柄。它只给了我0。所以..第一个问题:为什么有些控件没有窗口句柄?在他们心里,不都是控制着window吗?(只是谈论标准控件,就像我在Windows资源管理器中期望的那样,没有在Pane等上自定义绘制。)这引出了我的第二个问题:如果您无法获取它们的句柄,如何使用它们(例如使用EnableWindow)?非常感谢您的任何意见!编辑(附加信息):Windows资源管理器只是一个