草庐IT

c - 没有声音。通过 RubyDL 使用 Ruby 和 winmm

预期行为:中央C在一台MIDI乐器上演奏,然后在另一台上演奏。实际行为:DL弃用警告并且没有声音。运行Windows7。代码:require"dl/import"classLiveMIDION=0x90OFF=0x80PC=0xc0definitializeopenenddefnote_on(channel,note,velocity=64)message(ON|channel,note,velocity)enddefnote_off(channel,note,velocity=64)message(OFF|channel,note,velocity)enddefprogram_cha

windows - 在第 3 方 DLL 中查看可用的消息字符串(来自 mc.exe)

有没有办法查看DLL中可用的所有消息(即由mc.exe消息编译器为FormatMessage创建的消息)?看起来它们是作为类型11的单个资源添加的。不幸的是,该资源是二进制的。 最佳答案 我使用ResourceHacker对于所有与资源相关的事物。这些消息显示为“消息表”资源,其中包含所有人类可读的字符串及其ID。 关于windows-在第3方DLL中查看可用的消息字符串(来自mc.exe),我们在StackOverflow上找到一个类似的问题: https:

c# - 如何在 C# 中从工作线程发布 UI 消息

我正在用C#编写一个简单的winforms应用程序。我创建了一个工作线程,我希望主窗口响应完成其工作的胎面——只需更改文本字段中的一些文本,testField.Text=“Ready”。我尝试了事件和回调,但它们都在调用线程的上下文中执行,你不能从工作线程执行UI。我知道如何在C/C++中执行此操作:从工作线程调用PostMessage。我假设我可以从C#中调用WindowsAPI,但是没有更具体的.NET解决方案吗? 最佳答案 在来自已完成线程的事件回调中,使用InvokeRequired模式,正如对这篇SO帖子的各种回答所展示的

c++ - 是否可以通过 Windows 键(可能没有钩子(Hook))捕获 Windows 开始菜单弹出窗口?

我一直在研究输入事件系统。我映射了我自己键盘上的所有键、扫描码等,包括两个Windows键。当我按下它们时,程序成功地为它们接收了不同的按键事件,没有任何问题。然而,当我松开按键时,“开始”菜单会弹出,在Windows模式下隐藏程序,甚至在全屏模式下将其最小化。所以我的问题在于抑制它。Arma2,一款军事模拟器/游戏,允许将命令毫无问题地映射到这些键上。我必须在哪里catch那个事件?只要它有焦点,我可以为我自己的窗口做吗?只要它正在运行,我是否会被禁用的win-key卡住?还是别的?谷歌搜索主要是没有结果,因为Windowskey也指的是产品key,当我确实找到一些东西时,它通常会完

Linux远程工具-winexe用户名/密码

我正在使用winexe将远程命令从我的Ubuntu计算机发送到Windows计算机。如果我使用domain/username%password,效果很好。但是我相信psExec,它是一个从Windows向Windows发送远程命令的实用程序,不需要用户名密码组合。所以这个命令有效:bin/winexe-Uuser%password//computer'msghelloworld'这个没有bin/winexe//computer'msghelloworld'没有错误只是在winexe中列出命令有什么建议吗? 最佳答案 好像没办法避免输

windows - Win32 API - CurrentWindow 到 Message-Only-Window 并返回到原始窗口

我使用SetParent将窗口更改为仅消息窗口,但是当我尝试使用SetParent恢复窗口时,我要么没有恢复窗口,要么出现大量延迟?示例源代码。//Changetomessage-onlyHWNDnewParent=SetParent(currentHandle,HWND_MESSAGE);//ChangebackSetParent(newParent,currentHandle); 最佳答案 您已将参数颠倒过来。要恢复您需要的原始parent:SetParent(currentHandle,newParent);请记住,在这两种情

windows - 如何在 RichEdit 上捕捉 OnScroll 事件?

我创建了一个具有scrollPos事件的自定义Rich。所以我有这个代码:procedureTCustomRich.WMVScroll(varMsg:TWMVScroll);begininherited;if(Msg.ScrollCodein[SB_THUMBTRACK,SB_THUMBPOSITION])thenFScrollY:=Msg.Pos;ifAssigned(OnScroll)thenOnScroll(Self,FScrollX,FScrollY);end;procedureTCustomRich.WMHScroll(varMsg:TWMVScroll);begininhe

windows - 命令文件 : translate Windows error message

有没有办法在CMD脚本中检索和显示Windows错误消息的文本?例如,假设MYAPP.EXE返回2(ERROR_FILE_NOT_FOUND)。与此相关的Windows错误消息是:“系统找不到指定的文件”我可以在我的CMD脚本中检索并显示它吗?例如,REMmycmd.cmdMYAPP.EXEECHO%ERRORMESSAGE%谢谢。 最佳答案 假设您的程序返回一个标准窗口systemerrorcode作为退出代码myapp.exenethelpmsg%errorlevel% 关于wind

windows - 如何禁用 Shift/Ctrl/Alt 键的 WM_KEYDOWN 重复事件?

我有一个Windows应用程序处理Windows按键事件。应用程序传达WindowsMessage。当我按住Shift键时,WM_KEYDOWN消息重复出现。我只想传达一条WM_KEYDOWN消息,即使按住Shift键也是如此。您能否告诉我如何解决此问题? 最佳答案 你不能。检查lParam的第30位以查看消息是从上到下的转换,还是向下的重复。 关于windows-如何禁用Shift/Ctrl/Alt键的WM_KEYDOWN重复事件?,我们在StackOverflow上找到一个类似的问题

windows - 在定义的时间内等待窗口消息

我正在用winapi编程。如何在定义的时间内等待消息?如果没有消息,我可以做另一个任务。我不能使用Sleep,因为窗口回调过程会被延迟。while(true){...//waitamessagefor30milisecondsGetMessage(&message,hwnd,0,0))orPeekMessage(&message,hwnd,0,0,PM_REMOVE)...if(no_message){call_a_function();}else{if(finish)break;TranslateMessage(&message);DispatchMessage(&message);