Articles of Windows

Windows布局外观和感觉

我正在寻找Windows外观devise指南( 但不是Windows Vista的指南),详细说明了元素之间的理想差距等等。我在MSDN上find了几年前的文档,但是现在找不到它。 我已经开始了一个新的工作,就像以前一样:这是一个多年来由几个不同的人编写和添加的程序,他们对UI有不同的想法。 虽然星期五下午我有机会,但我想我会清理布局

Windows上的Perl,文件关联和I / Oredirect

有人可以解释通过文件关联调用perl脚本与通过perl.exe显式调用相同的脚本之间的区别吗? 显然,当通过文件关联调用脚本时,I / Oredirect不能很好地工作,我真的很想知道为什么。 例如,看看Windows上的Perl的ActiveState FAQ 。 只要脚本没有通过redirect接收到input, cat file例子就可以正常工作。 所以 cat file.txt 按预期工作,但是 whoami | cat.pl 才不是。 不仅需要.pl扩展名,而且显然whoami的输出没有传送到脚本中。 脚本运行(可以通过修改示例cat.pl脚本来validation),但由于某种原因,它不会接收whoami的输出作为input。 但是,如果我像这样调用脚本: whoami | perl cat.pl 一切按预期工作。 所以显然,通过文件关联运行脚本和显式调用perl.exe脚本之间存在着重要的区别。 常见问题解答提到这个问题,并指出使用pl2bat为脚本生成一个bat文件封面解决了这个问题,但我不明白为什么这是必要的。 请赐教。

Perl:IsAdminUser返回不正确的值

我是新的Perl。 我正在使用Win32::IsAdminUser()函数(无法粘贴代码,因为使它可运行我将不得不粘贴整个代码)。 它返回0,我很好奇,为什么因为这个运行的用户是Administrators组的成员,所以我创build了一个小testing函数(c ++),并运行之前运行IsAdminUser这是代码: int davai() { FILE * fp; fp = fopen ("C:\\tmp\\davai.txt", "a"); fprintf(fp, "shevedi davai"); fflush(fp); HANDLE token = NULL; HANDLE dupToken = NULL; if(!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_DUPLICATE, &token)) { fprintf(fp, "davai: OpenProcessToken cheijva. %d\n", (int)GetLastError()); fflush(fp); } if (DuplicateTokenEx(token, MAXIMUM_ALLOWED, NULL, SecurityDelegation, TokenPrimary, &dupToken) == 0) { fprintf(fp, "davai: OpenProcessToken DuplicateTokenEx. […]

如何在STL中使用libclang?

我试图用libclang来parsing一个库,而且我遇到了一个非常简单的问题:如何使用STL来configuration它? 目前,它无法parsing翻译单元,因为它找不到。 这是我的尝试: char *args[] = {"-x", "c++", "-Ic:/my/library/includes", "-IG:/Prog/libcxx-3.4/include"}; clang_parseTranslationUnit(index, "c:/my/library/test.cpp", args, 4, 0, 0, 0); 我在Windows上,从llvm.org下载了预编译的clang二进制文件,并尝试了各种STL实现: 视觉工作室 MingW平台 libCXX 在每一种情况下,我都以未知的types结束了。 例如,与mingw,我有以下错误信息: /mingw/include\wchar.h:221:71:error:unknown type name'_locale_t'/mingw/include\wchar.h:223:81:error:unknown type name'_locale_t'/mingw/include\stdlib.h :173:65:error:unknown type name'_locale_t'/mingw/include\stdlib.h:175:75:error:unknown type name'_locale_t'/mingw/include\io.h:301:14:error:unknown键入名称'off64_t'/mingw/include\io.h:301:36:错误:C ++需要所有声明的types说明符/mingw/include\io.h:302:14:错误:未知types名称'off64_t'/ mingw / include \ io.h:302:39:error:unknown type name'off64_t'/mingw/include\unistd.h:65:20:error:unknown type name'off_t' 我find关于这个主题的罕见的教程不谈论这个主题…

在WinSock2.h重新定义错误

包括winsock2.h,在一个项目的文件中。 获取许多错误 – WinSock2.h(109) : error C2011: 'fd_set' : 'struct' type redefinition 与相应的 – WinSock.h(54) : see declaration of 'fd_set' 我没有看到任何头文件中包含winsock.h。 项目中是否有可能造成这种情况? 编辑 但是,我在另一个文件中使用windows.h: http://cboard.cprogramming.com/windows-programming/41212-strange-msvc-winsock2-compile-error.html 编辑2 在头上我有: #include <winsock2.h> #include <iphlpapi.h> #include "\MyFiles\FileX.h" <-which #include <windows.h>

Windows文件共享时间戳

假devise算机A在由计算机B托pipe和共享的文件夹中创build一个文件。 使用标准的Windows文件共享,该文件的“创build”时间戳是由计算机A还是计算机B的时钟设置的?

recursion查找和replace文件

我想要做的是以下。 我想创build一些bat文件,它将从当前目录开始recursionsearch文件,并replace为我提供的文件。 例如。 如果我想search并replacetest1.txt,我打开这个小应用程序,并写入text1.txt,并放置我想要replace的文件。 迪尔 app.bat test1.txt // app将recursionsearch文件夹1和文件夹2,并将用test1.txtreplace所有find的结果 文件夹1 文件夹2 我想知道,如果有准备去应用程序或bat文件出于这个原因?

在同一进程中加载​​多个dll副本

我有一个由第三方生产的DLL,它具有某种内部数据结构,将其大小限制为X个元素。 所以基本上,它有一个以X为限的队列。 现在从我所知道的DLL是每个进程,但是有可能不止一次加载一个DLL? 也许每个线程? 在C#中? 或者在C ++ / CLI中? 我试图加载一个本地的C ++ DLL。

注册热键

我有这个function:RegisterGlobalHotKey(Keys.F6,MOD_SHIFT | MOD_CONTROL); 它调用一个API来在系统中注册一个全局快捷键。 无效RegisterGlobalHotKey(键热键,int修饰符) 我创build了一个小的选项窗体来设置这个键是variables不固定的值是这样的:RegisterGlobalHotKey(VARIABLE1,VARIABLE2 | VARIABLE3); 请参阅附件选项表单了解更多 主要问题是如何将comboboxstring值转换为键枚举值

FillChar和StringOfChar在Delphi 10.2下用于Win64发布目标

我有一个关于Delphi 10.2 Pascal编程语言中的特定编程问题的问题。 在2012年以前发布的CPU上的Win64 Release版本中,StringOfChar和FillChar无法正常工作。 FillChar的预期结果只是在给定的内存缓冲区中重复8位字符的普通序列。 StringOfChar的预期结果是相同的,但结果存储在一个stringtypes中。 但实际上,当我编译10.2以前版本的Delphi中使用Delphi的应用程序时,为Win64编译的应用程序在2012年以前发布的CPU上停止正常工作。 StringOfChar和FillChar不能正常工作 – 它们返回不同字符的string,尽pipe是重复模式 – 不仅仅是它们应该具有的相同字符序列。 这是最小的代码足以certificate这个问题。 请注意,序列的长度至less应为16个字符,字符不能为0(#0)。 代码如下: procedure TestStringOfChar; var a: AnsiString; ac: AnsiChar; begin ac := #1; a := StringOfChar(ac, 43); if a <> #1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1#1 then begin raise Exception.Create('ANSI StringOfChar Failed!!'); end; end; 我知道在StackOverflow中有很多Delphi程序员。 你遇到同样的问题吗? 如果是的话,你如何解决? 解决办法是什么? 顺便说一句, 我已经联系了Delphi的开发者,但是他们并没有确认也没有否认这个问题 。 我正在使用Embarcadero Delphi 10.2版本25.0.26309.314。 更新: 如果您的CPU是在2012或更高版本中生产的,则在调用StringOfChar重现此问题之前,还需要包含以下行: […]