草庐IT

windows - 如何在 C++ Windows 7 中列出可用的监视器?

我正在尝试使用C++在Windows7中获取附加的监视器,我使用的代码如下voidListDisplayDevices(){intindex=0;DISPLAY_DEVICEdd;dd.cb=sizeof(DISPLAY_DEVICE);while(EnumDisplayDevices(NULL,index++,&dd,0)){if(dd.StateFlags&DISPLAY_DEVICE_PRIMARY_DEVICE)printf("*");printf("%s,%s\n",dd.DeviceName,dd.DeviceString);}}但是这个函数的输出很简单*\,A\,A\,A

c++ - 如何从服务获取用户桌面的路径?

我需要从服务应用程序为本地Windows系统上的所有用户枚举桌面文件夹的路径。问题是某些用户当时可能没有登录。那么是否有任何API或其他方法可以做到这一点?EDIT1:对于那些没有阅读第一段的人,让我重复一遍——我没有用户帐户的token,用户可能不是当时登录。EDIT2:在关闭我的应用程序支持的功能或卸载应用程序之前,我需要它从用户桌面删除快捷方式。 最佳答案 这是迄今为止我能够想到的最佳方法。因此,如果安装非英语Windows的人可以帮我检查一下,我将不胜感激?(为简洁起见,我只发布了一个伪代码。)1-以下所有步骤都是从本地服务

windows - 来自 LoadImage() 的位图句柄上的 GetObject() 有时会返回不正确的位图大小

我们发现一个间歇性问题,即在WindowsXP下使用位图作为背景的所有者绘制的按钮无法正确显示位图。将显示包含多个按钮的窗口,这些按钮对用于按钮背景的位图图像使用相同的位图文件,并且大多数按钮将是正确的,但在某些情况下可能有一个或两个按钮显示位图背景减少到更小的尺寸。如果退出应用程序然后重新启动它,您可能会看到按钮上图标错误显示的相同行为,但它可能与以前的按钮相同,也可能不同。这种在按钮上错误显示图标的行为也不是经常出现。有时显示,有时不显示。因为一旦我们加载了按钮的图标,我们就保留它,一旦按钮显示不正确,它就会始终显示不正确。使用调试器,我们终于发现,当调用GetObject()函数

windows - 如何编写软件来播放路由到录音设备的声音片段?

我想编写一个程序,允许用户在他们的麦克风(录音设备)中播放声音剪辑,以便他们可以在他们的PC上使用VOIP软件(例如Ventrillo或Skype)时将剪辑与他们的声音混合。当我说在他们的麦克风中播放声音片段时,我的意思是用户按下一个按钮,然后播放声音片段,用户和VOIP连接另一端的人都可以听到。在Windows上可以使用哪些API函数来执行此操作? 最佳答案 “向麦克风播放声音”没有标准的API。也就是说,当应用程序想要捕获音频并使用API获取音频源时,没有定义标准方法来连接到此过程并动态更新捕获的音频。除此之外,还有几个音频AP

c++ - 如果我过早获得窗口句柄,控制台窗口会出现问题……?

我正在制作一个必须无边界的控制台应用程序;为此,我更改了控制台窗口样式和窗口区域,如下所示。在某些时候,我遇到了一个问题,使控制台窗口通常显示大约2x1个字符的大小,或者有时完全被窃听(不可见的客户区、一些部分是白色的、一些部分是透明的、随机边框等)有人告诉我,将ShowWindow(hWnd,SW_HIDE);添加到它现在所在的行可以解决问题。确实如此。现在我想弄清楚为什么问题首先存在,以及是否有其他方法可以防止它?有人告诉我,这个问题可能会发生,因为Windows正试图在访问我的程序的同时访问窗口属性(位置、样式、大小等)。不过,我不知道这是不是真的。#include#includ

c++ - 任务计划程序 : run task each hour from the current moment

这里是问题所在:我需要创建计划任务,该任务将从安装的那一刻起每小时执行一次。然后它必须在每次用户登录时启动。到目前为止一切顺利。使用examplesfrommsdn我创建了一个基于ILogonTrigger的任务,我将重复设置为一小时,没关系。重新登录或重新启动后任务完美启动-这就是我所需要的。但我不希望用户立即重新启动或重新登录。所以问题是:如何从当前时刻开始倒计时?我知道我可以强制运行已注册的任务-但那是我想避免的,我想在一小时后启动它,然后一次又一次,等等......我现在可以想到的一种解决方案是创建无重复的登录任务,并延迟启动它。并且每次执行时都会延迟再次运行。但这对我来说是一

windows - CreateProcess 能够执行批处理文件,但文档说明相反

考虑以下文件:a.bat:@echoHellofrombat%1和c.cpp:#defineUNICODE#include#includevoidcheck(TCHAR*cmd,TCHAR*args){STARTUPINFOsinf;PROCESS_INFORMATIONpinf;memset(&sinf,0,sizeofsinf);sinf.cb=sizeof(sinf);CreateProcess(cmd,args,NULL,NULL,FALSE,0,NULL,NULL,&sinf,&pinf);WaitForSingleObject(pinf.hProcess,INFINITE)

c# - 在另一个 session 中枚举用户桌面的 Windows

这里有一个简单的问题让我抓狂。我有一个用C#编写的Windows服务,它应该可以在XP、Vista和7上运行,并且能够枚举当前用户桌面(如果有)的窗口以进行监视。到目前为止:我使用EnumDesktopWindows将IntPtr.Zero作为hdesktop参数传递,因为我没有用户桌面的句柄,这只会导致在枚举分配给服务(Session0\Winsta0)的特殊桌面中存在的少数窗口我试过EnumWindows,结果和上面一样!我尝试使用GetThreadDesktopAPI获取已知进程的桌面,传递explorer.exe线程之一的ID但它返回0,所以我无法获取它的桌面或任何其他线程。我

javascript - Node-Webkit 获取用户的桌面目录

使用Node-Webkit,我需要使用fs.writeFile()在用户的桌面目录中保存一个文件。我怎样才能取回它? 最佳答案 在unix下,您可以使用环境变量HOME,在windows下,您可以使用USERPROFILE来识别用户的主文件夹,并将其与“/Desktop”连接起来。 关于javascript-Node-Webkit获取用户的桌面目录,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

python - 结合 Tkinter 和 win32ui 使 Python 在退出时崩溃

在使用Python2.7的winapi构建基本应用程序时(我在Windows8.1上),我尝试向程序添加一个小的Tkintergui。问题是,每当我关闭应用程序窗口时,Python就会完全崩溃(基本上会收到崩溃消息)。我在多个地方发现了有关此问题的报告,但找不到修复或解决方案。以下是一些来源:http://sourceforge.net/p/pywin32/bugs/443/#8bdehttp://www.gossamer-threads.com/lists/python/python/134956(这是2002年的!)最多可以复制这4行:fromTkinterimportTkimpo