草庐IT

compile-ms-native-dll

全部标签

windows - 防止 MIDI 驱动程序在 MS Surface 4 上休眠

我有一个Windows窗体应用程序,它对从Midi/USB脚踏开关上的按钮单击发出的Midi事件作出react。这在几乎所有PC上都非常有效,延迟非常小......但是在MicrosoftSurface4(可能还有5、6等)平板电脑上,Microsoft似乎会在声音播放后尽快让Midi(或USB)驱动程序进入休眠状态停止在设备上播放...之后立即!我确定Surface这样做是为了节省电量/电池,但这对我的应用程序来说是一个交易破坏者。在我的应用程序中,无论当前是否正在播放声音,我都需要对脚踏开关按钮的点击使用react,几乎没有延迟。在Surface上,一旦Midi驱动程序进入休眠状态

c++ - 如何在库加载时将预处理器定义传递给 DLL

我正在开发一个链接到DLL的应用程序,该DLL本身包含一个数据结构,其定义因预处理器定义而异:structExample{uint8_tStringA[32];#ifUSE_Buint8_tStringB[32];#endif};我需要在我的应用程序中的不同时间使用结构的两个版本。因此,我似乎需要使用LoadLibrary加载DLL,其中USE_B未定义用于部分执行(这是标准且直接的),使用FreeLibrary卸载它,然后然后使用定义为非零值的USE_B再次加载它。我不确定如何执行此操作,如有任何帮助,我将不胜感激。 最佳答案 L

windows - 在 Adob​​e AIR 中运行 native 程序

我需要运行native程序并在仅Adob​​eAIR客户端的应用程序中检索输出。我知道AIR不允许访问native应用程序,那么实现此目的的最佳方法是什么?我遇到了this适用于Windows的解决方案,但我也需要适用于Mac的解决方案。如果可能的话,我宁愿没有两个单独的解决方案。有什么建议吗? 最佳答案 我相信Shu可能是你要找的。它需要花钱,但它是AIR应用程序的API和bundler,为它们提供了额外的功能。引用他们的网站:Shuprovidesyouthedeveloperwithatoolkitofcommandstoex

windows - 如何从 dll 中获取应用程序名称?

如果我有一个被LoadLibrary加载到应用程序(bar.exe)中的dll(foo.dll),我如何从foo.dll中获取字符串“bar.exe”? 最佳答案 将NULL作为第一个参数传递给GetModuleFileName(). 关于windows-如何从dll中获取应用程序名称?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/873770/

c# - 在 C++ 非托管 dll 和 C# 托管 dll 之间发送 Byte[][]

我有一个导出以下方法的非托管C++dll:ERASURE_APIvoidencode(unsignedchar**inp,unsignedchar**outp,unsignedint*block_nums,size_tnum_block_nums,size_tsz);ERASURE_APIvoiddecode(unsignedchar**inp,unsignedchar**outp,unsignedint*index,size_tsz);inp和outp的大小可高达10KB,从C#托管代码调用这些方法的最佳性能方式是什么?编辑:我做了以下实现,它有效,但这是最有效的方法吗。C++:ER

c# - 如何安装 Visual Studio dll 文件?

我想使用Scintilla控件和适用于Winforms的RadControls,但我不知道如何合并这些文件。它们是.dll格式?如果控件是.dll格式,我该如何使用它们? 最佳答案 http://msdn.microsoft.com/en-us/library/wkze6zky%28VS.80%29.aspx右键单击该项目,单击“添加引用”,转到“浏览”选项卡,找到并添加它们。 关于c#-如何安装VisualStudiodll文件?,我们在StackOverflow上找到一个类似的问题:

c++ - 跨两个 DLL 的 `using` 语句

我在一个DLL中定义了一个类,其中某个成员被重载了。第二个DLL导入该类,从它继承并导出继承的类。继承的类覆盖了上述成员的重载之一,因此失去了所有其他重载。据我所知,这个问题的解决方案通常是使用using语句(usingBaseClass::OverloadedMember;),但鉴于这种情况,我得到了一个错误C2487:“BaseClass::OverloadedMember”:dll接口(interface)类的成员不能用dll接口(interface)声明(VC++)。我该如何解决这个问题? 最佳答案 我将从新的DLL/类中导

windows - 如何减少每次 ClickOnce 更新的供应商 dll 的大小?

有没有办法减少每次ClickOnce更新的大小?每次更新都包含所有自定义的verdorsdll(例如Telerik、NHibernate等),有没有办法只包含第一次初始安装而不包含在以后的更新中?我只想要ClickOnce更新文件中的最新更新的应用程序dll和.exe,以便客户端可以非常快速地通过网络下载更新。请分享您在ClickOnce应用程序中使用的建议或做法。谢谢。 最佳答案 扩展@DarrelMiller的回答。ClickOnce仅下载已更改的文件。它为每个文件生成一个散列。如果文件发生任何变化(文件大小、修改日期等),将生

c++ - 如何在 MS Windows 中使用 C++ 将快捷方式发送到另一个应用程序?

我的问题是如何将快捷方式从C++发送到另一个应用程序。假设记事本已打开,我想向他们发送CTRL+P等快捷方式,或更复杂的CTRL+SHIFT+HOME或ALT+F4等快捷方式,我发现许多很好的教程解释了如何发送一个键像'A'或'ALT',但我没有找到如何将它们一起发送。 最佳答案 您可以使用SendInput()或keybd_event()将键发送到当前聚焦的窗口。SendInput()可能是更好的选择,因为它不会将键盘事件与实际键盘的事件交织在一起。//sendCTRL+SHIFT+HOMEINPUTinput[6];memset

windows - 在远程 Windows 机器上动态运行 DLL?

有没有办法在远程Windows机器上动态运行DLL?假设用户想要将自己的DLL文件发送到远程服务器并在远程站点运行该DLL中的函数。用户可能能够提供函数入口点以及所需的参数,但仅此而已。(例如没有头文件)我正在考虑在远程站点设置一个代理可执行文件,它可以(1)动态加载和绑定(bind)未知的DLL,以及(2)运行带参数的函数。这是一个好的方法,还是这样的可执行文件可能? 最佳答案 您可以使用动态加载DLL的技术。通常,您通过将.LIB静态链接到您的项目并编译它来使用DLL。要在运行时动态加载DLL,您可以使用以下WIN32API函数