Articles of winapi

Vim:Windows下terminal的编码(Unicode)

我不知道为什么,但是这个话题似乎被logging得很差,而且有争议,因为没有人知道真正的答案(除了也许很less有人回答的穆勒纳尔先生之外)。 所以基本上我在这里提出了一个讨论,并且很快就死了,可能是因为在Windows上没有太多人在terminal模式下使用Vim。 我的编码设置如下所示: if has('multi_byte') if empty(&termencoding) let &termencoding = &encoding endif let &encoding = 'utf-8' let &fileencoding = 'utf-8' endif 当然,我在GVim下运行也没有问题:可以input任何字符,我修补的Powerline的Consolas工作得很好。 当我尝试在terminal模式下运行Vim时,问题就开始了。 我使用ConEmu ,一个function丰富的Windowsterminal模拟器。 它声称正式支持Unicode的开箱即用。 例如,我可以运行以下testing脚本: chcp 65001 & (cmd /c type "%~dpn0.cmd") & pause & goto :EOF English: texts, web pages and documents Graves,etc: à á â ã ä å æ ç è […]

Delphi – CreateProcess – 执行多个命令

我想用CreateProcess()调用来实现以下function: 更改为svn工作副本 执行svn命令 将输出传输到文件 我用下面的函数试试这个 procedure TQPortMainForm.CmdMigrationClick(Sender: TObject); var StartInfo: TStartupInfo; ProcInfo: TProcessInformation; CreateOk: boolean; input: String; begin { fill with known state } FillChar(StartInfo, SizeOf(TStartupInfo), #0); FillChar(ProcInfo, SizeOf(TProcessInformation), #0); StartInfo.cb := SizeOf(TStartupInfo); //debug input := 'D: && cd D:\Qport\trunk\Qport\ && ' + SVN_PATH + ' log > C:\users\PhilippKober\UNIQUE_NAME_BLUB.txt'; CreateOk := CreateProcess(nil, PChar(input), nil, nil, […]

为什么当memset等已经有ZeroMemory等存在?

为什么在C标准库中有memset和相关的调用时,WindowsMemory中存在ZeroMemory和类似的调用? 我应该打给谁? 我可以猜到答案是“依赖”。 什么?

recursion文件search

我试图找出如何处理这个东西了出于某种原因,它在某个时候结束..我不是很好的recursion,我敢肯定,问题在于那里.. 此外,即使我检查cFileName!=“..”,它仍然显示在最后,不知道为什么,但“。” 不再显示了 void find_files( wstring wrkdir ) { wstring temp; temp = wrkdir + L"\\" + L"*"; fHandle = FindFirstFile( temp.c_str(), &file_data ); if( fHandle == INVALID_HANDLE_VALUE ) { return; } else { while( FindNextFile( fHandle, &file_data ) ) { if( file_data.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY && wcscmp(file_data.cFileName, L".") != 0 && wcscmp(file_data.cFileName, L"..") != 0 […]

如何授权/拒绝使用Python对Windows上的目录进行写入访问?

我希望能够授权或拒绝对Windows XP和更多的特定目录的写权限。 我尝试了以下,他们都不工作: os.chmod() :只能指定文件的只读属性,请参阅Python的文档 win32api.SetFileAttribute() FILE_ATTRIBUTE_READONLY:一个只读的文件。 […]这个属性不符合目录 ,请参阅MSDN的SetFileAttribute 它看起来像我唯一的select是访问和更新目录的“ 安全信息 ”,我已经尝试了几个小时得到的东西没有太多的成功(我真的不熟悉Win32 API)完成。 任何想法如何做到这一点?

为什么MAKEINTRESOURCE()工作?

macros被定义为: #define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i)))) #define MAKEINTRESOURCEW(i) ((LPWSTR)((ULONG_PTR)((WORD)(i)))) 这怎么可以用来表示一个资源ID(一个16位无符号整数)或它的名字(指向一个字符数组的指针)? 这是不是有效地限制了地址空间(在32位系统上)为16位? 否则,系统如何知道我是否使用了ID或名称?

如何在.NET 3.5中获取CSIDL_COMMON_DOCUMENTS的path?

我正在为安装程序进行自定义操作。 它必须读取存储在CSIDL_COMMON_DOCUMENTS的文件以确定安装目录。 (我希望在自定义操作中更改安装目录不会成为问题,但这是一个不同的问题。) 我看到.NET 4将CommonDocuments添加到Environment.SpecialFolder 。 不幸的是,我被困在.NET 3.5中。 接下来最简单的方法是什么?

从内存stream复制时显示Windows文件复制对话框?

我的应用程序将从MemoryStream将文件写入磁盘。 我不想创build自己的进度对话框,而是喜欢使用现有的窗口function,例如SHFileOperation Win32 API,它显示带有animation和进度条的标准文件复制对话框。 但是,这个特定的API要求指定源文件的path。 是否有可能以某种方式使用此API的MemoryStream还是有另一个API,我可以使用?

与Windows XP / win32串行通信的基本示例

我正在使用需要通过串行通信的外设。 我可以使用超级terminal发送它的命令,但现在我需要编写程序,让我没有超级terminal。 有人可以指向我的网站和/或向我展示一个样本你好世界程序,让我开始? 我已经通过许多网站search,让我无法编译/古代VC6代码。

我可以停止请求UAC提升的可执行文件吗?

我有一个安装程序,我想从脚本运行。 安装程序请求UAC提升,但不需要提升,因为我正在安装到用户目录。 有没有办法运行安装程序,以便它不要求UAC提升? 脚本是用Python编写的,所以我可以通过ctypes访问Windows API。 更改安装程序不是一个选项。