Articles of Windows

仅以pipe理员身份第一次运行程序

我正在开发部署在Windows Standard Embedded 7平台上的软件。 它利用inpout32.dll,一个stream行的库来读/写并行端口。 这个图书馆有点鬼鬼祟祟。 它不是通过安装程序来安装,而是懒惰地安装 – 在加载和调用时,它会查看硬件并select作为程序资源一部分的驱动程序。 这然后被复制到Windows驱动程序目录。 问题是如果程序不是以pipe理员身份运行,则此副本将不会成功。 而软件就这样死了。 所以我正在寻找一个优雅的解决scheme,不涉及closures用户帐户控制(即使工作?)。 在清单中指示程序应该以pipe理员模式运行将是一种方式,但这会popup一个对话框,我不希望每次都发生这种情况。 有没有办法指定“只能作为pipe理员运行一次”? 假设没有,你可以给我什么build议?

windows tcp栈的缓冲区限制,特别是使用winsocket

在处理通过winsocket进行通信的Windows应用程序时,我已经列举了以下场景: Alice与Bob发起一个tcp会话 Bob接受,会话build立。 鲍勃正在发送大量的数据(〜1000 MB)。 鲍勃继续做其他事情。 同时,Alice缓慢读取数据,当时N个字节(其中N是Alice缓冲区的大小,只分配一次,因为数据被写入到每个读取之间的文件中, 该缓冲区由应用程序分配 )。 在debugging时,我发现Bob的send()永远不会被阻塞,即使在第一次读取之前我暂停了Alice。 问题是,什么保证整个数据( 〜1000 mb )将保持可供爱丽丝阅读? 有没有已知的/可configuration的参数,限制这个缓冲区的长度?

sscanf跳过大写'N'字母

我用一个大写字母“N”得到了一个奇怪的sscanf问题(也许我不明白一些东西是正确的): 例1: char cBuff[128]; sscanf("GUIDNameNENE","%*[GUIDName]%127s" ,cBuff); 返回cBuff:ENE 例2: char cBuff[128]; sscanf("GUIDNamenENE","%*[GUIDName]%127s" ,cBuff); 返回cBuff:nENE 例3: char cBuff[128]; sscanf("GUIDNaMENE","%*[GUIDNa]%127s" ,cBuff); 返回cBuff:ENE 我已经尝试了许多其他变种,但总是跳过大写N.问题在哪里? 先谢谢你!

试图运行一个.bat,从映射的驱动器或共享运行.exe文件没有find

我不确定我做错了什么。 我有一个名为fileser01的文件共享。 我把我的exe文件放在\\fileser01\\software ,是hp.exe。 我可以映射一个驱动器whith这个命令: net use f: \\fileser01\\software /user:domain\myaccount 所以驱动器显示为f: 在.bat文件中,我已经start "f:\" hp.exe但是它说找不到该文件。 我究竟做错了什么? 我甚至尝试运行一个VBS,它说它无法find该文件 我试过"f:"我试图把它放在软件的另一个文件夹,如媒体所以"f:\media" ,仍然是同样的问题。

子窗口(CEdit)失去焦点

我使用MFC Document / View架构在C ++中进行编程。 我一直在试图实现类似于MFC CEdit失去焦点处理程序的东西 。 正如答案所示,我处理了消息EN_KILLFOCUS。 基本上,我是这样做的:我在视图中绘制了文本。 当用户单击视图中文本的区域时,我将位于顶部的CEdit窗口放在上面,以便用户能够编辑文本。 当编辑失去焦点时,我得到CEdit文本并将其保存在文档中。 然后使视图无效。 但是,当视图失去焦点时,我似乎只收到EN_KILLFOCUS消息。 我必须点击其他地方,例如对接窗口或工具栏,以使CEdit失去焦点。 我希望它发生,当我点击CEdit框外的视图的任何其他地方。 我正在用WS_CHILD样式创buildCEdit。 我试过WS_POPUP,但仍然是同样的问题。 任何帮助,将不胜感激。

我如何在Windows XP上运行Xamarin?

当我试图在我的XP上安装Xamarin时,我得到了错误消息,因为不可能安装.Net框架版本4.5。 有没有办法解决这个问题? 谢谢!

在Azure创build虚拟机REST API上,必须指定“pipe理员密码”错误

我正在尝试使用Windows Azure REST API创build一个新的Windows VM。 但是,我不断收到以下错误: BadRequest: An administrator password must be specified 但是,REST调用XML主体包括: <AdminPassword>SomePassword123</AdminPassword> <AdminUsername>guyk</AdminUsername> 任何线索我应该从哪里开始寻找?

如何检查PSFTP进程是否返回0batch file

我正在写一个批处理脚本,从目录中获取文件,并使用psftp远程复制它们。 这是做所有魔术的线: echo n | psftp.exe user@hostname.com -i id_rsa.ppk -v -b psftp-rules.txt -bc >> c:\log-file.txt 正如您所看到的, psftp.exe被调用并通过rsa密钥进行身份validation。 psftp-rules.txt发生在psftp-rules.txt ,活动logging在log-file.txt 。 我需要的是一个函数,它将检查返回代码,如果有任何失败,将错误写入日志文件,然后退出。 我正在寻找的可能是为这个返回码设置一个variables。 然后我想象一个if语句是variables等于1来结束脚本并将错误消息回显到日志中。 我看到的问题是,一旦上面的行运行,批处理脚本,如果不涉及。 任何援助将不胜感激。

可以使用primefaces<bool>进行multithreading同步而不是事件

就像在C ++ 11中一样,它已经被导入primefaces,就像我们在旧代码中所知道的那样,它使用windows事件(CreateEvent / SetEvent)进行线程同步。 伪代码如下。 线程A: while(true) { if(check event is set) break; else do stuff } 线程B: SetEvent() //ask thread A stop. 我想知道是否在这种情况下。 可以使用下面更简单的primefaces,有没有什么primefaces布尔不能取代事件? 提前致谢! std::atomic<bool> bFlag = false; 线程A: while(true) { if(bFlag) break; else do stuff } 线程B: bFlag = true; [更新] 为了使问题更加清楚,线程A不会写入bFlag,它只是读取它来知道什么时候退出线程。 线程B会写bFlag来通知线程A停止。 解决scheme中没有性能考虑。

使用byte 的密钥生成为MAC和Windows生成不同的结果

我正在试图从string使用字节[]即生成密钥。 我的课是最后的,我有静态的方法。 类: public final class Operation { public static Key getKey(byte[] arr) { Key key = null; KeyGenerator keyGen; Security.addProvider(new BouncyCastleProvider()); try { keyGen = KeyGenerator.getInstance("AES", "BC"); if(arr == null) keyGen.init(192); else keyGen.init(new SecureRandom(arr)); key = keyGen.generateKey(); } catch (NoSuchAlgorithmException e) { System.err.println(e); } catch (NoSuchProviderException e) { System.err.println(e); } return key; } public […]