草庐IT

WinAPI-RedBlue

全部标签

c - 在winapi中拖放

我有一个需要一些新功能的纯Winapi应用程序。其中之一最好实现为两个列表,您可以在列表之间拖放(多个)元素。新功能可以仅限于单个对话框。什么是最快的实现方式?一些想法:纯Winapi(是DetectDrag)一个单独的MFC或.NETDLL,提供这个对话框嵌入MicrosoftWebBrowser控件并使用JQuery应避免这些选项中的任何一个?有更好的想法吗?什么是最快实现的?关于如何开始的任何指示? 最佳答案 我的建议是,如果应用程序是纯winapi,请保持这种状态。仅为一个带有可拖动项的对话框启动.NET框架运行时与托管We

c - 获取 Windows 任务栏的高度 (Winapi)

如何计算任务栏高度,这样我的winapi应用程序就可以启动了吗?现在,实际上,当我启动我的程序时,它启动并且底部位于任务栏后面。我怎样才能告诉我的程序移动一启动就在任务栏上方?我会标记正确的答案。谢谢。 最佳答案 您可以将SPI_GETWORKAREA与SystemParametersInfo一起使用获取可用的屏幕尺寸,不包括任务栏,GetSystemMetrics可以获得全屏大小,因此任务栏大小只是任务栏所在轴的差异,您应该通过比较两个轴来检查哪个轴,因为任务栏并不总是在底部。 关于c

c++ - 为什么 WinAPI 对 BOOL 类型使用 int(32 位)?

//typedefintBOOL;int是32位的,这不是浪费内存吗?以防万一我错了,我尝试将普通的bool*发送到需要BOOL*的函数,但直到我使用typedefint才起作用。 最佳答案 哇,那里慢一点。首先,我很确定程序员一直在使用4字节ints自从开始在x86上编程以来就代表boolean变量。(以前没有bool数据类型这样的东西)。我敢猜测Windows3.1中也有同样的typedef.其次,您需要更多地了解架构。你有一台32位机器,这意味着所有CPU寄存器都是4字节或32位宽。因此,对于大多数内存访问,存储和访问4字节值

winapi - 隐式与显式链接到 DLL

什么时候应该隐式或显式链接到DLL,常见做法或陷阱是什么? 最佳答案 显式链接DLL是相当罕见的。主要是因为它很痛苦且容易出错。您需要为导出的函数编写函数指针声明,并正确获取LoadLibrary+GetProcAddress+FreeLibrary代码。仅当您需要对插件样式DLL的运行时依赖性或希望根据配置从一组DLL中进行选择时,您才会这样做。或者处理版本控制,例如,仅在更高版本的Windows上可用的API函数。显式链接是COM和.NETDLL的默认设置。此MSDNLibraryarticle中的更多背景信息.

windows - 所有 Windows PC 显示器上的每英寸像素数都是标准的吗? (LogPixelsX) 在 GetDeviceCaps WinAPI 调用中

我所说的WindowsPC显示器并不是指WindowsCE或手持设备等。澄清下面的一些人误以为我在问显示器上的DPI(每英寸点数)是多少。我要的是GetCaps中LogPixelsX的值API调用:LOGPIXELSX沿屏幕宽度的每逻辑英寸像素数。在我看到的示例中,它设置为88,不管屏幕DPI。似乎是一个神奇的数字类型的常量。在相关Question我正在使用GetDeviceCaps来计算当前的屏幕字体DPI。我查到的代码示例都有:常量LOGPIXELSX=88这对所有显示器来说都是一样的吗(甚至是宽屏显示器还是普通显示器)?如果没有,我如何为当前显示找到它。(MSDN表示它对于特定计

windows - winapi 的 bcrypt.h 实际上支持 bcrypt 哈希吗?

这听起来像是一个奇怪的问题,我实际上不得不问这个感觉有点奇怪,但是在花了几个小时查看MSDN文档以了解添加的bcrypt例程之后在Vista中,我几乎得出结论,没有实际的bcrypt支持!根据维基百科:bcryptisanadaptivecryptographichashfunctionforpasswords...basedontheBlowfishcipher...Besidesincorporatingasalttoprotectagainstrainbowtableattacks,bcryptisanadaptivehash:overtimeitcanbemadeslowera

c - winapi: CreateProcess 但隐藏了进程的窗口?

我正在使用CreateProcess创建一个cmd.exe进程,该进程传递一个它执行并退出的参数,这使得命令提示符在屏幕上闪烁。我试图通过将STARTUPINFOstructwShowWindow设置为SW_HIDE来避免这种情况,但此参数似乎影响调用窗口,而不是执行进程的窗口。无论如何,您可以使用createprocess来启动一个隐藏的程序吗?此外,获取环境变量的正确winapi标准方法是什么? 最佳答案 如果它只是一个控制台应用程序,您还可以使用CREATE_NO_WINDOW标志作为CreateProcess调用自身的一部分

winapi - "Repair"网络连接以编程方式/从命令行

有谁知道当您在网络连接上单击“修复”时WindowsXP会做什么?我想以编程方式或从命令行执行相同的操作。我进行了Google搜索并找到了thisarticle,其中有一个很好的解释,但我认为它不完整。我可以可靠地重现我失去网络连接并单击“修复”按钮修复问题的情况,但运行那篇文章中的命令却没有。 最佳答案 谢谢,伙计们,我想我明白了。MSKBarticlepostedbylpfavreau中的步骤几乎完成。那就是我尝试过的方法,但没有用。但是,如果我先执行ipconfig/release那么它似乎可以工作。我怀疑“修复”按钮没有明确

hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2]系统找不到指定的文件

hp,ht,pid,tid=_winapi.CreateProcess(executable,args,FileNotFoundError:[WinError2]系统找不到指定的文件类似问题解决办法通过代码寻找,问题代码出现在这句device_name=subprocess.check_output([_ADB,"-s",device_id,"shell","getprop","ro.product.model"])其中_ADB变量值为adb;这句话的意思是在cmd中执行adb-sshell{device_id}getpropro.product.model并返回执行结果,这里返回的结果为系统

winapi模拟鼠标按住左键拖动

        继前文《windows下通过uiAutomation技术获取ui元素》介绍获取ui元素信息后,还需要对信息进行修改,但是uiAutomation技术并未提供可修改的api,只能另辟他径看看了。        以cameraraw为例,已知的是可将鼠标放在指定区域位置,然后按下左键并左右拖动,也是可以改变对应值的,界面如下:        而鼠标的操作实际上也是通过winapi来向windows发送消息的,按照这个思路,可以直接调用winapi试试看。这里主要用到的也就是mouse_event()方法://////Mouseclickevent//////MouseEventFl