Articles of Windows

Windows中的Unicode规范化

我一直在Windows中使用“unicodestring”,只要…我已经了解了Unicode(例如gradle后)。 但是,Win32API非常松散地提到“unicode”,这一直令我感到困惑。 特别是,MSN提到的“unicode”变体是UTF-16(尽pipe“wide char”术语来自于它曾经是UCS-2,而不是Unicode)。 但是,几乎没有提到Unicode规范化。 MSN有几页关于Unicode和Unicode规范化forms和函数来改变规范化forms 。 规范化的页面甚至说: Win32和.NET Framework支持所有四种规范化forms。 但是,我没有在文档中的任何地方findWin32 API使用(或理解)的规范化forms。 问题1 :默认情况下用户input(如Edit控件)使用什么规范化表单,并通过MultiByteToWideChar()转换? 问题2 :传递给Win32API函数的string必须是特定的规范化forms,还是内核和文件系统规范化不可知?

如何构buildWindows的SystemTray应用程序?

我通常在Linux系统上工作,但是我有一种情况,我需要编写一个客户端应用程序,它将作为一个服务在Windows上运行。 有人可以帮助我或直接到,如何build立一个MenuBar应用程序(例如像Dropbox的)的Windows环境,它启动操作系统启动时,图标坐在任务栏中,并点击应用程序图标提供一个菜单。 我的脚本语言是python。 谢谢。

确定networking驱动器的协议

有没有一种方法可以确定Windows上安装的networking驱动器使用的协议名称(SMB / CIFS,NFS)和版本? (在C#中) 编辑 使用来自Rusted的答案的信息,我从networking上的Windows 7计算机获得以下信息。 NETRESOURCE res = WinApiWNETwrapper.GetResourceInfo("\\Test-PC"); res.dwDisplayType = SERVER res.dwScope = 0 res.dwType = ANY res.dwUsage = CONTAINER res.lpComment = "" res.lpLocalName = null res.lpProvider = "Microsoft Windows Network" res.lpLocalName = "\\Test-PC" NETINFOSTRUCT netinfo = WinApiWNETwrapper.GetNetworkInfo("\\Test-PC"); netinfo.cbStructureSize = 32 netinfo.dwCharacteristics = 0 netinfo.dwDrives = -1 netinfo.dwHandle = 1880621056 netinfo.dwPrinters = […]

使用Powershell命令进行文件计数

如何使用Powershell命令Get-ChildItem来计算特定文件夹(和所有子文件夹)中的所有文件? 与(Get-ChildItem <Folder> -recurse).Count也文件夹计数,这不是我想要的。 还有其他的可能性,快速计数非常大的文件夹中的文件? 有人知道有关Windows Powerhell的简短教程吗?

在64位Windows上运行cURL

我是cURL的新手,只是安装了它,但似乎只做它的感觉。 我使用的是我从这里得到的64位版本: http : //curl.haxx.se/latest.cgi?curl=win64-ssl-sspi安装说明,我在这里find: http : //guides.instructure.com / m / 4214 / l / 83393-how-do-i-install-and-use-curl-on-a-windows-machine 。 打开一个新的Powershell窗口我可以使用一个简单的GET请求,如下所示: curl http://localhost:3000 但如果我运行一个POST curl -d "hello world" http://localhost:3000 它告诉我“Invoke-WebRequest:Parameter无法处理,因为参数名称'd'不明确,可能的匹配包括:-DisableKeepAlive -Debug。 试图获得帮助,我键入 curl -h or curl –help 给我“Invoke-WebRequest:缺less参数”Headers“的参数。指定一个types为”System.Collections.IDictionary“的参数,然后重试。 正如我所说,我是一个curl新手,但似乎很奇怪,它可以做请求,但没有别的。 任何想法我做错了什么? Windows 7 64位Powershell版本4

如果文件的名称包含“update”,Windows会强制UAC提升文件?

我正在使用Windows 7和Microsoft Visual Studio 2010。 我在WinMain()调用了一个MessageBox()调用的简单项目。 该项目的名称是"update" ,所以EXE文件的名称是update.exe 。 我在链接器设置中closures了清单生成。 但是当我尝试在Visual Studio中开始debugging时,它说我的应用程序需要提升。 我决定通过在Windows资源pipe理器中单击来启动应用程序,但仍然需要pipe理员权限。 我将其重命名为update12345.exe和12345update12345.exe ,但仍然需要提升。 但是当我将其重命名为12345.exe ,它完美工作,无需pipe理员权限! 我认为Windows需要提升所有名称包含"update"子string的文件。 所以,我从debugview.exe DebugView中取出另一个文件( debugview.exe ),并将其重命名为update.exe – 但是它没有提升。 什么可能是这个奇怪的行为的原因?

在Windows上使用PHP获取全部可用的系统内存

使用PHP,我想获得系统可用的总内存(不只是免费或使用的内存)。 在Linux上,它非常简单。 你可以做: $memory = fopen('/proc/meminfo'); 然后parsing文件。 有谁知道Windows的等效方法? 我接受任何build议。 编辑:我们有一个解决scheme(但StackOverflow不会让我回答我自己的问题): exec( 'systeminfo', $output ); foreach ( $output as $value ) { if ( preg_match( '|Total Physical Memory\:([^$]+)|', $value, $m ) ) { $memory = trim( $m[1] ); } 不是最优雅的解决scheme,它非常慢,但它适合我的需要。

PHP UTF-8转换为Windows命令行编码

一切都在问题:我有一个PHP脚本是一个UTF-8文件。 在这个脚本中我想这样做: <? echo "âêïû\n"; ?> 如果我在Windows提示符下运行它,我得到这个: C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php ├ó├¬├»├╗ C:\php> 我一直无法find正确的转换scheme。 我也试过这个代码: $tab = mb_list_encodings(); foreach ($tab as $enc1) { foreach ($tab as $enc2) { $t=mb_convert_encoding("âêïû\n", $enc1, $enc2); if (strlen($t)<14) { echo $enc1." ".$enc2." = ".$t."\n"; } } } 而我没有find正确的转换! 任何帮助将不胜感激

x64允许每个块比Win32更less的线程?

当我执行一些cuda内核时,我注意到对于我自己的cuda内核来说,x64编译会导致失败,而Win32则不会。 我很困惑,因为cuda的源代码是相同的,并build立是好的。 只是当x64执行时,它表示它要求太多资源启动。 但是在概念上,x64不应该比Win32允许更多的资源吗? 如果可能的话,我通常喜欢每个块使用1024个线程。 所以要使x64代码工作,我必须将块缩小到256。 任何人有任何想法?

在Windows XP中运行Selenium Server standalone 2作为服务

如何在Windows XP中将Selenium Server Standalone 2作为Windows服务运行?