Articles of Windows

检查特定的USB设备是否可用

我需要找出是否有一个特殊的供应商/产品ID的USB设备(我只是检查是否存在,不需要访问)。 当使用libusb-win32时,只能对这些安装了libusb驱动程序/filter驱动程序的设备执行此操作,这对我来说不起作用。 那么……是否有可能列举所有可用的USB设备并获得他们的VID / PID? 任何示例代码可用于? 谢谢!

用户perl在Windows cmd.exe中重命名,就像在linux / bash中一样?

有没有办法使用perl的直接从窗口cli重命名可以在bash上完成gnu / linux? 喜欢 rename 's/\ /_/g' * 我有一个脚本来做一些重命名(namefix.pl #!/usr/bin/perl print join("\n",map{$o=$_;y/AZ ,()[]/a-z_-/;s/_-_/-/g;s/-\././g;rename($o,$_)?$_:"Didn't rename $o: $!"}<*>),"\n"; )的空间和其他的东西只是伟大的,但我的意思是,在飞行重命名的东西直接从cli没有调用脚本,使用上述仅仅作为一个例子,我将如何在一个bashterminal(如果你人们不知道)。 如果没有,是否有任何简单的方法来使用正则expression式在Windows cmd.exe重命名的东西? (afaik,windows'ren不会做正则expression式,但也许它确实…这整个蹩脚的操作系统对我来说基本上是新的,在过去的14年中只使用gnu / linux,我并不兴奋现在呢…呃)。 任何可行的替代scheme将是我所接受的perl。 我只想完成一些东西。 我不挑剔。

Windows C ++ – 需要想法 – 在同一个应用程序/窗口中结合鼠标input和原始input

我会尽量保持这个尽可能短。 我有一个单一的鼠标input工作了多年的应用程序。 我正在寻找能够让我的用户使用其他forms的input,如交互式投影仪,触摸设备,或几乎任何提供WM_INPUT消息,当你注册他们。 我的一般想法是我将有一个供应商ID和/或产品ID的列表,我会处理原始input(它提供VID / PID,设备句柄和其他信息)每个消息(WM_INPUT)收到。 在原始input代码中处理的任何设备都将在鼠标input代码中处理(WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_RBUTTONDOWN等)。 理想情况下,我可以保留所有的鼠标input代码,或者离开它。 这样,如果用户插入两个鼠标,或者一个鼠标和一个不支持的指针设备(意味着我的原始input代码不能基于VID / PID处理它),那么设备将使用相同的系统光标。 任何由我的原始input代码已知的设备将被赋予单独的游标,只存在于我的应用程序中。 问题很简单:鼠标input不提供有关消息来源的任何信息(如WM_MOUSEMOVE等)。 知道消息源于触摸帮助(我有这个实现),但绝对不够。 我需要一些独特的标识符。 如果我能够知道鼠标input的来源,则只能处理不在已知设备列表中的设备的鼠标input,而且我只能处理已知设备列表中的原始input。 不幸的是,我似乎无法find一个方法来实现这一点。 有任何想法吗? 感谢您对冗长的post感到抱歉。 TL; DR – 你能在Windows中识别鼠标input(不是原始input)的来源吗? 确定源是否触摸是不够的信息,我需要某种唯一的标识符。 鼠标input – http://msdn.microsoft.com/en-us/library/windows/desktop/ff468877(v=vs.85).aspx 原始input – http://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v=vs.85).aspx

BizTalk应用程序无法安装:“安装的应用程序的更新版本”

我遇到的问题使用由BizTalk部署框架生成的msi-installer安装BizTalk应用程序。 当我运行安装程序时,我立即得到一个错误,告诉我在计算机上安装了一个更新版本的应用程序。 我试图在计算机上查找BizTalk应用程序,但我确信它不在那里。 有没有人有类似的经历? 什么可能导致这样的错误?

将HANDLE转换为文件描述符

我有一个这样的句柄: HANDLE hPipe = CreateNamedPipe(…) 有可能将hPipe转换为文件描述符 (int)? 我需要这个,因为我已经用C ++实现了一个使用OpenSSL来处理TLS的代码。 这是像TCP套接字的魅力,但我真的需要用它在Namedpipe上。 OpenSSL的函数SSL_set_fd(SSL * ssl,int fd)只接受一个intforms的 FileDescriptor ,而不是一个HANDLE 。 注:我也尝试使用下面的function,但不起作用(返回3): int fd = _open_osfhandle(reinterpret_cast<intptr_t>(hPipe), 0);

在android和windows之间同步文件的最佳方法

我有一个C#程序来执行在Windows上的清单。 现在我正在开发一个Android应用程序来执行这个清单。 现在我需要一个服务或其他东西来同步Windows程序和Android应用程序之间的清单。 也许我写了一个Web服务的应用程序,但我没有发现什么关于托pipe一个Java的Web服务的Android(本地networking)。 因为Android设备和PC总是在同一个networking中。 也许你的某个人有一个好主意。

构build一个独立的qt应用程序可执行文件,链接到Windows下一个静态构build的Qt库

我一直在使用MinGW和Windows下的Qt Creator开发一个Qt项目。 Qt被用作共享库,因此需要将DLL复制到分发文件夹。 但是,我们团队中的一些成员要求这是一个独立的可执行文件,并使用MSVC作为编译器。 我们有一个静态构build的Qt库,根据谁来构build它。 我喜欢像以前一样使用Qt Creator。 正如有些人所build议的,我添加了CONFIG += static 到我的.pro文件。 但是,当我在构build设置中select静态Qt库的bin文件夹下的qmake.exe时,总是抱怨Qt版本无效并且未正确安装。 我试图覆盖一些环境variables,这也没有帮助。这种方法应该只是根据互联网上的各种职位和Qt的维基。 我不知道为什么它不适用于我的情况。 我也尝试从命令行使用qmake。 然而,每当我做这个项目,它总是看到我的电脑本地安装的有效的Qt共享库。 而这样的结果,仍然是需要复制DLL的可执行文件。 我可以用它来构build的唯一方法是使用这里build议的方法: 在没有加载项的情况下使用Qt与Visual Studio 。 基本上是使用template += vcapp设置.pro上使用qmake。 然后使用Visual Studio和生成的.vcproj文件构build项目。 我不太喜欢这种方法,因为即使生成的.vcproj也不默认包含和libpath到静态Qt库,但共享Qt。 每当我产生它,我必须改变它。 似乎只能使用Debug版本。 我想知道是否有一个简单的方法来build立一个静态Qt库的独立EXE,最好使用Qt Creator? 我们的视觉工作室是快递版本,所以没有可用的Qt插件。

从powershell脚本运行batch file(空白)

我需要从PowerShell脚本调用batch file。 batch file名将由用户的PS文件参数决定。 我有这个代码,但没有按预期工作。 有人能把我的错误指向我吗? 一切似乎都很好,但我得到的问题与实际的batch file调用(最后4个陈述之一) param( [string]$parts ) $sharedDrive = "\\server\share" $cred = get-credential "DOMAIN\" $username = $cred.UserName $password = $cred.GetNetworkCredential().Password $net = New-Object -com WScript.Network $net.mapnetworkdrive("", $sharedDrive, "true", $username, $password) $BatchFilePath = $sharedDrive + "\Public\Upgrade\Application Folder" IF ($parts -eq "P1") { $selectedBatchFile = "`"" + $BatchFilePath + "\P1 Upgrade File.bat" + […]

join我的本地子网上的PNRP云

我正在尝试使用PNRP,只是使用netsh来执行基本的命令来注册我的机器上的同伴。 我可以通过打开命令提示符的多个实例并input以下命令来在计算机上添加多个对等项 netsh p2p pnrp peer add registration 0.mike 之后,我切换到cloud环境,并inputshow names ,我看到了一堆信息,我通过cmd注册的2个同行的名字。 但是,当我请求另一位开发人员(在同一IPv4子网上有一台机器)运行相同的命令时,他们不会出现。 我希望有第三个同行出现在我的云上,因为我们使用的是同名的0.mike 我不了解这里发生了什么事,我该怎么做才能得到我期望的行为?

Windows批处理脚本在几次迭代后停止工作

我有一个windows批处理脚本,它只是为C编译器调用vcavars32,根据工作目录名称推导出我的C程序的名称,从命令行中保存用户的一些内容,然后编译并从命令行运行我的程序(如果你知道USACO是什么,我希望这个脚本能帮助我快速自动化testing)。 该脚本工作一段时间,但我打电话几次后,开始抱怨 The input line is too long. The syntax of the command is incorrect. 它会停止工作,直到我closurescmd,然后重新打开一个新的cmd窗口。 我的批处理脚本现在看起来像这样(我也有很多的意见和一些gotos在我的实际脚本,使它更方便一些,例如不要运行more > %myFolder%.in if %myFolder%.in已经存在): call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" for %%A in (".") do set "myFolder=%%~nxA" more > %myFolder%.in CL %myFolder%.c /nologo && %myFolder%.exe >nul && type %myFolder%.out del /q %myFolder%.exe %myFolder%.obj %myFolder%.out 我可以让我的脚本每次都工作吗? 为什么我得到这个错误?