问题标签 [windows]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
17695 浏览

windows - 如何在 OpenGL 中显示 unicode 文本?

有没有一种在 Windows 下的 opengl 中显示 unicode 文本的好方法?例如,当您必须处理不同的语言时。最常见的方法如

只是不会这样做,因为您无法为所有 unicode 字符创建足够的列表。

0 投票
5 回答
5575 浏览

windows - 将 rsync 进度包装在 gui 中的最佳方法?

我使用rsync以与服务器无关的方式将文件同步到 Windows 客户端。有哪些方法可以将 rsync 的进度发送到父进程以在 gui 进度条中显示?

我想存在两三个选择。(1) 观察 STDOUT (2) 观察 rsync.exe 日志文件,类似于 unix tail(3) 观察内存中的 rsync 控制台输出。

哪一个是最好的/首选的?

0 投票
12 回答
92656 浏览

windows - 如何从 shell32.dll 中获取图标?

我想让 Tree 图标用于本土应用程序。有谁知道如何将图像提取为 .icon 文件?我想要 16x16 和 32x32,或者我只是做一个屏幕截图。

0 投票
6 回答
1365 浏览

c++ - MSVC6:断点停止程序

使用 Microsoft Visual Studio 98、Microsoft Visual C++ 6.0 SP6

在调试器下运行时,只有一个问题。如果我暂停程序并继续,一切都很好。

问题?当我遇到断点时,我的程序会停止。但不是很好;执行停止,我被抛出调试模式进入编辑模式。一切都很好,直到断点被击中。而且我知道它正在到达断点 - 我看到指向右侧代码行的黄色小箭头闪烁,检查窗口中的局部变量和该窗口中的调用堆栈。然后我盯着编辑器。

这发生在所有项目中。

我已经卸载并重新安装了 MSVC6。它没有帮助。

我即将在一台新电脑上重新开始;在我走那么远之前,有人知道我对这个做了什么吗?


注意:MSVC6 不是我的选择,但有原因。这是我使用的工具。而且,我们要针对 NT4,所以鉴于 2008 不能针对 NT4,而 2005 与 MFC 和 NT4 有问题,MSVC6 就是这样。

0 投票
1 回答
551 浏览

.net - 观察 IP 地址状态的变化

有没有一种方法可以像使用 FileSystemWatcher 观察文件的变化一样观察 ip 地址的变化?我正在通过 tcp/ip 连接到一台机器,但它需要一段时间才能给我一个 IP 地址。我想调暗连接按钮,直到我有一个有效的 IP 地址。

0 投票
13 回答
59039 浏览

c# - 我可以让 Memcached 在 Windows (x64) 64 位环境中运行吗?

有谁知道如果何时如何Memcached在 Windows 64 位环境中运行?

我正在设置一个新的托管解决方案,并且更喜欢运行 64 位操作系统,因为它是一个带有 SQL Server DB 的 ASP.Net MVC 解决方案,所以操作系统要么是 Windows Server 2003,要么是(希望!)2008。

我知道这可能会引发关于服务器上 32 位与 64 位的争论,但我只想说我的偏好是 64 位,而且我有一些很好 理由。

到目前为止,我已经尝试了许多选项,并找到了一些与在 32机器上安装它相关的帮助(我可能会添加成功),但由于原始Windows 端口是 Win32 特定的,这几乎没有帮助在 x64 上作为服务安装时。它还依赖于我只能获得 Win32 编译版本的libevent 。

我怀疑简单地在 C++ 中加载所有这些并点击“编译”(对于 64 位)是行不通的,尤其是因为 32 位和 64 位架构的复杂差异,但我想知道是否有人正在努力解决这个问题地面?不幸的是,我的专长仅在于托管代码 (C#),否则我会尝试自己承担这一点,但我不敢相信我是唯一一个试图让memcached在 64 位 Windows 服务器上运行的人。 ..我吗?


更新

是的,恐怕我仍在寻找这个问题的答案——我所有的努力(用我可怜的 C++ 技能)来建立一个稳定的构建都失败了——我已经破坏了一台服务器和 3 个虚拟机只是在尝试,所以现在我求助于真正的专家。有人打算将其移植到64位吗?还是您真的建议我改用 MS Velocity?一想到我就不寒而栗。


更新:@Lars - 我确实使用 Enyim - 它非常好,但你指的是客户端,而不是服务器部分。

@DannySmurf - 我只能将它作为服务安装在 32 位操作系统上。64 位操作系统拒绝安装此 Win32 服务。当然是的,许多 Win32 代码在 x64 架构上无缝运行,因此您可以在 Vista/XP 64 等上运行 32 位应用程序(例如 Office)或游戏,但这并不能直接转化为服务。我不是专家,我怀疑这与服务需要订阅的同步或事件有关,而且我怀疑 64 和 32 不能很好地发挥作用。我很高兴得到纠正,但要回答你的问题 - 是的,我已经尝试过了。

@OJ - 非常感谢您的直截了当的回应。我想了很多,但不确定其他人是否有建议或已经走这条路。也许当 StackOverflow 上线时,会有更多人回复并让我知道这是否正在研究,尽管我可以尝试自己编译它 - 我根本无法“相信”(以我的 C++ 经验水平)它将在大型可扩展解决方案的关键组件中提供“企业级”可靠性。我认为这需要有教养的干预,而不是我未经消毒的实验方法,然后我才能有信心。我的一个小小的疏忽可能会导致网站瘫痪。哦,好吧……直到下一次。

0 投票
6 回答
8627 浏览

windows - 如何从磁盘获得良好的并发读取性能

我想问一个问题,然后用我自己的答案跟进,但也看看其他人有什么答案。

我们有两个大文件,我们想同时从两个单独的线程中读取它们。一个线程将顺序读取fileA,而另一个线程将顺序读取fileB。线程之间没有锁定或通信,它们都在尽可能快地顺序读取,并且都立即丢弃它们读取的数据。

我们在 Windows 上使用此设置的经验非常差。两个线程的总吞吐量约为 2-3 MiB/sec。驱动器似乎花费了大部分时间在两个文件之间来回搜索,可能在每次搜索后读取的很少。

如果我们禁用其中一个线程并暂时查看单个线程的性能,那么我们将获得更好的带宽(这台机器约为 45 MiB/秒)。很明显,糟糕的双线程性能是 OS 磁盘调度程序的产物。

我们可以做些什么来提高并发线程读取性能? 也许通过使用不同的 API 或以某种方式调整 OS 磁盘调度程序参数。

一些细节:

在具有 2GiB 内存的机器上,这些文件的大小约为 2GiB。出于这个问题的目的,我们认为它们没有被缓存和完美碎片整理。我们使用了碎片整理工具并重新启动以确保是这种情况。

我们没有使用特殊的 API 来读取这些文件。该行为可在各种标准 API 中重复,例如 Win32 的 CreateFile、C 的 fopen、C++ 的 std::ifstream、Java 的 FileInputStream 等。

每个线程都在循环中旋转,调用 read 函数。我们将每次迭代从 API 请求的字节数从 1KiB 到 128MiB 不等。改变这个没有任何效果,所以很明显,操作系统在每次磁盘寻道后物理读取的数量不是由这个数字决定的。这正是应该预期的。

在 Windows 2000、Windows XP(32 位和 64 位)、Windows Server 2003 以及使用和不使用硬件 RAID5 的情况下,单线程和双线程性能之间的巨大差异是可以重复的。

0 投票
8 回答
19791 浏览

windows - 以编程方式在 Windows 资源管理器中选择多个文件

我可以像这样在 Windows 资源管理器中显示和选择单个文件:

但是,我不知道如何选择多个文件。我尝试过的选择的排列都没有。

注意:我查看了这些页面的文档,都没有帮助。

https://support.microsoft.com/kb/314853
http://web.archive.org/web/20100716112458/http://www.infocellar.com:80/Win98/explorer-switches.htm

0 投票
3 回答
808 浏览

c++ - 播放波形文件立即结束 (C++, Windows)

我有以下情况。在一台机器上有一个Fritz ISDN卡。有一个进程负责在此设备的波形输出上播放某个波形文件(ISDN连接在启动时建立并保持不变)。这个场景很简单,只要需要,进程就会调用waveOutWrite()先前打开的 wave 设备(一切都初始化了,当然没有任何问题),并且回调函数等待MM_WOM_DONEmsg 知道播放已经完成。

然而,几天后(过程和机器都没有改变)MM_WOM_DONE消息在调用后立即出现,waveOutWrite()即使波持续了几秒钟。再次没有报告错误,看起来文件已播放但长度为零(事实并非如此)。我也确信waveOutReset()我的进程没有调用它(它也会触发发送提到的消息)。过去我曾经遇到过一些奇怪的问题,只需重新安装TAPI驱动程序即可解决。这次由于某种原因,我再次执行该操作是有问题的,我正在尝试更多的分析方法:)。有什么建议可能导致这种行为吗?也许在ISDN线路的另一端有什么东西?

0 投票
2 回答
2259 浏览

c++ - 验证 Win32 窗口句柄

给定一个类型的句柄,HWND是否可以确认该句柄代表一个真实的窗口?