草庐IT

c - 我应该在 DLL 导出函数上使用 __stdcall 吗?

我正在使用mingw-w64在C中编写一个小的DLL,它应该可以被VB.net程序调用。唯一的导出是参数和返回类型为原始类型的函数。我应该在dllexport函数上使用__stdcall吗?在网上搜索时,我看到了使用和不使用它的示例。讨论了它如何影响名称装饰,但没有关于这是否是一件好事以及对我的DLL的可用性有何影响的建议。 最佳答案 除非您需要调用以这种方式定义的现有接口(interface),否则确实没有充分的理由在任何地方使用非默认调用约定/ABI(__stdcall或其他方式)。这只是无缘无故的丑陋。它对现有Windows的

c# - 我应该如何运行后台服务来为 Windows 世界中的网站创建导出文件?

我创建了一个Shiny的新ASP.NetMVC站点,并将“另存为”类型的功能卸载到一个可以在服务器后台运行的帮助程序,这样网站就不需要承担所有的负担。我创建它以便于从命令行运行它,现在我让它从Windows调度程序运行。问题是它的粒度为1分钟,这意味着该网站的一些不幸用户将点击该链接并等待59秒+实际处理报告的时间。我也有点担心我的程序的启动成本。我假设让程序持续运行会更便宜。我担心该程序会死亡并且不会重生。至少有了windowsscheduler选项,我不必担心我的程序会崩溃太多。你是怎么处理的? 最佳答案 我会创建一个Windo

windows - 在 Windows 上,当我的子窗口的 z 顺序相对于其 sibling 之一发生变化时,它是否应该获得 WM_WINDOWPOSCHANGED?

我正在尝试将自定义小部件插入到InternetExplorer8网址栏中,位于停止和重新加载按钮旁边。这只是我个人生产力的提升。IE框架这部分的“窗口模型”是一个“地址栏根”窗口,它拥有包含IE8网址栏的窗口:一个编辑框、一个组合控件以及停止和重新加载按钮。在另一个进程中,我创建了一个新的WS_CHILD窗口(具有自定义类名),它是IE的地址栏根窗口的父级,因此使其成为编辑框的同级窗口并停止/重新加载。我用HWND_TOP的hwndInsertAfter调用SetWindowPos以确保它出现在urlbar的“上方”(即“在”中)。这很好用,我看到我的窗口最初是在IEurlbar中绘制

windows - 我应该对 pdb 行号给予多少信任?

我目前正在从转储中调试Windbg中的一个问题。我有正确的pdbs,我可以很高兴地查看本地人等。但是,我拥有的源代码(我从VCS分支中提取的,据称是该版本的源代码)在我正在查看的堆栈的某些部分中似乎有几行偏离。我以前见过它关闭1行的实例,但不是3/4行。这是什么原因造成的?有什么明确的方法可以检查我是否拥有正确的源文件? 最佳答案 您查看的是发布代码的调试版本还是非优化版本?代码优化可能会导致您看到的换行,因此您应该使用/Od重新编译C++优化设置为“已禁用”,看看这是否能纠正您所看到的。WinDbg使用与VisualStudio相

windows - 我应该静态编译 VS2008 C++ Win32 应用程序还是动态链接它们?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我试图避免dllhell问题和用户必须安装重新分发包以防他们没有dll。是否建议我静态编译我的应用程序?

c# - 软件 GUID 是否应该与程序集 GUID 不同?

我们正在开发一个项目,我们将部署该项目作为使用InnoSetup创建的安装可执行文件。现在,我们必须为主程序集(由VS2013创建)和软件(afaik用于识别已安装的软件)指定GUID。这两个GUID应该不同还是应该相同?起初,我认为我们实际上应该两次使用相同的GUID,因为它们指的是相同的产品,但是,有人可能会争辩说这是两个不同的实例,即软件和程序集。选择这些GUID有什么后果?哪种方法更可取?如果我们两次使用相同的GUID会不会有冲突?编辑:我指的是InnoSetupAppId属性,它默认设置为生成的GUID。这是GUID窗口用来识别软件的吗? 最佳答案

c++ - 我应该使用 UTF-8 通过网络发送数据吗?

WinAPI使用UTF-16LE编码,因此如果我调用某个返回字符串的WinAPI函数,它将以UTF-16LE编码返回。所以我考虑在我的程序中对字符串使用UTF-16LE编码,当需要通过网络发送数据时,我将其转换为UTF-8,另一方面我将其转换回UTF-16LE。这是为了减少要发送的数据量。我有理由不这样做吗? 最佳答案 与UTF-8编码,你将使用:1个字节用于ASCII字符2个字节用于U+0000和U+07FF之间的unicode字符如果需要的话,更多的字节数因此,如果您的文本是西方语言,在大多数情况下,UTF-8编码可能比UTF-

windows - 我应该为 RTSP 客户端创建一个新线程还是只在媒体基础中使用自定义 IMFMediaSource

我正在编写一个RTSP客户端并使用MediaFoundation将多个IP摄像机视频源流式传输到Windows显示器。我知道内置的MFRTSP不能很好地处理IP摄像机,所以我必须编写自定义媒体源:编写自定义媒体源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms700134(v=vs.85).aspx此外,以下帖子提供了一些有用的提示,但没有提供太多实现细节:使用MediaFoundation通过RTSP捕获H264/AAC流:https://social.msdn.microsoft.com/Forums/wind

windows - 我应该如何使用 Powershell 为 ping 设置 24 小时时间戳?

我需要在Windows中执行ping操作,并知道什么时间收到或错过了ping;时间戳应反射(reflect)24小时制(而不是AM/PM后缀)。如何在Powershell中执行此操作? 最佳答案 您可以使用foreach()循环为ping添加时间戳;Get-Date可以采用格式字符串:C:\>powershellPSC:\>ping.exe-t4.2.2.2|Foreach{"{0}-{1}"-f(Get-Date-f"yyyyMMddHH:mm:ss"),$_}2019060114:33:03-2019060114:33:03-P

windows - 我应该使用哪种编程语言/编译器/库来创建无需任何其他软件即可在 Windows XP 上运行的应用程序?

我需要创建一个基本应用程序来检查组件的可用性,并在必要时将它们下载到任何运行WindowsXP或更高版本的计算机上。我应该使用哪种语言(最好是免费的或VS2010)来创建这样一个无需预先安装任何框架即可运行的应用程序? 最佳答案 couldyoupleaseelaborate?Bystaticlibrary,doyoumeanadllthatshouldresidealongsidetheexe?ordoyourefertoavailabledllsinwindows/system32?Also,willprogramscompil