草庐IT

windows - Win32 API中GetMessage()的内部机制?

在windows应用程序的消息循环中,GetMessage()函数会在消息队列中没有消息时挂起应用程序线程,但是当消息队列中有消息入队时,它是如何唤醒自己的呢?休眠线程如何唤醒自己?while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);} 最佳答案 线程不会唤醒自身。向它发送消息的线程将它唤醒。发送消息的部分过程包括唤醒消息的接收者。 关于windows-Win32API中GetMess

c# - 我想通过 SendInput API 发送一些 key

我想通过C#上的SendInputAPI向游戏发送一些key。(我的环境是Windows764bit)我写了一些代码如下:[DllImport("user32.dll")]staticexternintSendInput(intnInputs,INPUT[]pInputs,intcbSize);[StructLayout(LayoutKind.Sequential)]私有(private)结构MOUSEINPUT{公共(public)intdx;公共(public)诠释;publicuint鼠标数据;公共(public)单位dwFlags;公共(public)单位时间;公共(publi

c - Windows 创建窗口 API

我是Windows编程的新手。在Windows操作系统上,几乎每个应用程序都会打开一个窗口,我想知道是否所有这些应用程序都调用相同的APICreateWindow()来创建它们的窗口?或者,换一种方式来问我的问题:游戏、音乐播放器、浏览器、即时消息、IDE等是否都通过调用APICreateWindow()创建它们的窗口?如果不是,还有哪些其他API可用于在Windows上创建窗口? 最佳答案 是的,还有CreateWindowEx是唯一可以创建窗口的API(其他相关API,例如DialogBox和AllocConsole也在内部执行

c++ - lua 5.2.1 Unresolved external 问题

我正在使用visualstudio2012,当我尝试编译时,出现以下错误:Error7errorLNK1120:6unresolvedexternalsC:\Users\MS\Documents\VisualStudio2012\Projects\LuaTest\Release\LuaTest.exeLuaTestError4errorLNK2001:unresolvedexternalsymbol_lua_closeC:\Users\MS\Documents\VisualStudio2012\Projects\LuaTest\LuaTest\main.objLuaTestError5

c++ - 如何使用 Windows API WriteFile 将 ASCII 字符串写入文件?

我知道我们可以使用WriteFile将内容写入文件:BOOLWINAPIWriteFile(HANDLEhFile,LPCVOIDlpBuffer,DWORDnumOfBytesToWrite,LPDOWRDlpNumOfBytesWritten,LPOVERLAPPEDlpOverlapped);但是我们如何使用此函数将ASCII字符串写入文件呢? 最佳答案 通常是这样的:WriteFile(your_file,your_string,strlen(your_string),&written,NULL);虽然您通常不想这样做——除

c++ - ldap_search 函数使用 c++ Win32 api 返回错误代码 10?

我正在使用ldap函数通过win32api获取用户属性值。用户名为arun。在ldap_functions中,如init、set_options、connect、bind是成功的。但是ldap搜索函数返回错误代码10。这里是我的代码errorCode=ldap_search_s(pLdapConnection,//SessionhandlepMyDN,//DNtostartsearchLDAP_SCOPE_SUBTREE,//ScopeLDAP_SCOPE_BASELDAP_SCOPE_SUBTREEpMyFilter,//FilterNULL,//Retrievelistofattr

windows - Lua os.execute 空终端

我有一个程序需要我调用os.execute来运行外部程序,但是,当我这样做时,该程序在后台运行时会打开一个空终端,这非常痛苦。我想知道是否有办法防止这种情况发生? 最佳答案 假设您使用的是Windows,您可以使用winapi库,特别是winapi.execute(),它将在不弹出终端窗口的情况下运行应用程序。 关于windows-Luaos.execute空终端,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

java - 是否有等同于 JAVA pack() 的 WIN32 API?

我的Windows应用程序需要根据子对象的可变数量/大小自动调整大小。不允许最终用户调整窗口大小。我已经知道如何移动/调整窗口大小。我只需要压缩父窗口以适合子对象的最佳方法。我可以通过多种方式计算新的大小,但如果WIN32API已经像java中那样有一个库,我就不必重新发明轮子了。谁能指出我正确的方向或确认该功能不存在?谢谢。 最佳答案 抱歉,Win32API没有这样的东西。如果您想要这样的东西,您将非常需要在API本身之上的某种库(或者,当然,您可以自己编写它)。 关于java-是否有

windows - 环境的 Lua 注册表?

我正在尝试读取Windows注册表以找出安装了哪些脚本环境以及独立解释器可执行文件的位置。比如我做python的时候搜索HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/InstallPath这为我提供了环境的python可执行文件的安装路径,这让我可以找到我是否有python2.7、3等以及这些exe所在的位置。我正在为Luaforwindows寻找类似的东西。我必须使用注册表进行此搜索。 最佳答案 尼科尔说的。通过对照已知可执行文件列表扫描PATH会更好地为您服务(但即使这样也不能保证,

windows - Windows API 中是否有一种方法可以在特定应用程序运行时触发代码?

我想监控在Windows中运行的应用程序的状态。我可以使用什么最佳方法(Win32或更新的API)来监视特定应用程序何时运行并在之后执行我选择的另一个应用程序? 最佳答案 您可以使用WMI-请参阅此SO问答Howtomonitorprocess/programexecutioninwindows?.特别是Win32_ProcessStartTraceclass该线程中还有一些其他选项。 关于windows-WindowsAPI中是否有一种方法可以在特定应用程序运行时触发代码?,我们在St