草庐IT

create-simple-hidden-console-keyl

全部标签

windows - lockfileex 不会阻止 create_always 删除文件

在一个过程中,我用GENERIC_READ调用了createfile|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE、OPEN_ALWAYS和FILE_ATTRIBUTE_NORMAL作为参数。然后我在整个文件上调用了LockFileEx。我获得了一个独占锁,并锁定了从0到UINT_MAX的范围。之后,在另一个进程中,我调用了::CreateFileW(path.c_str(),perms,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NU

windows - 假设 GetDC(hWnd) 作为 WM_CREATE 上的第一条指令被调用,对于窗口 hWnd,GetDC() 是否有可能返回 NULL?

假设GetDC(hWnd)作为WM_CREATE上的第一条指令被调用,对于窗口hWnd,GetDC()是否可能返回NULL?我担心GetDC()可能因资源不足而失败。当发生这种情况时,我应该检查错误吗?调用失败怎么办?Win32API函数会引发异常还是我应该引发异常? 最佳答案 GetDC()确实会失败,无论您何时何地调用它。在处理API时,您应该采取相当悲观的观点,并为任何API函数失败做好准备。正如您所建议的,失败的一个可能原因是系统资源耗尽,例如内核句柄、GDI对象等。所以你应该经常检查错误。不仅是GetDC(),对API函数

windows - 为什么使用 Win32::Console 在 Perl 中输入密码需要按两次 Enter?

我是Perl的新手,很难理解以下密码输入代码片段的行为:useWin32::Console;my$StdIn=newWin32::Console(STD_INPUT_HANDLE);my$Password="";$StdIn->Mode(ENABLE_PROCESSED_INPUT());local$|=1;print"EnterPassword:";while(my$Data=$StdIn->InputChar(1)){if("\r"eq$Data){last;}elsif("\ch"eq$Data){if(""nechop($Password)){print"\ch\ch";}ne

windows - 如何让 Windows Console\Command Prompt 显示颜色?

我的问题如下:我曾经在Linux(更准确地说是Ubuntu)上编写代码,但现在我使用的是Windows机器(7和8.1)。我需要注意的一个主要问题是,任一Windows中的命令提示符都不会显示默认颜色或字体样式以外的其他颜色或字体样式,从而导致终端单调。这对于调试Symfony项目很有用(因为错误有颜色,使它们更容易阅读)等等。这发生在Linux终端中,希望在Windows中具有相同的行为。有没有一种方法可以在默认的命令提示符中实现这一点(如何?)或者是否有第3方应用程序可以实现这一点(我已经尝试过PowerCMD但显然它不允许php输出到控制台)? 最佳答

c++ - WM_CREATE 中的 InvalidateRect 不起作用

我想在窗口创建时使它无效。我怎样才能做到这一点?在WM_CREATE期间调用InvalidateRect无效。问题是我在WM_CREATE中调用SetWindowLongPtr并设置GWLP_USERDATA。WM_PAINT在USER_DATA中寻找一些指针,但我第一次收到WM_PAINT时,数据显然不在那里,所以它不会绘制我的东西。也试过这个:#defineMyDefinedMsg(WM_APP+1)//...//caseWM_CREATE://...//SetWindowLongPtr(hWnd,GWLP_USERDATA,ptr);PostMessage(hWnd,MyDefi

windows - Node console.log 行为和 Windows stdout

尝试在Windows中从node.js脚本重定向输出时,我注意到了奇怪的行为。此行为的最小可重现示例如下:从Windows控制台(cmd.exe):c:\>node-econsole.log('hello')hello来自Powershell:PSC:\>node-econsole.log('hello')PSC:\>也就是说,它没有向控制台写入任何内容就退出了。这是个问题,因为当我尝试将输出重定向到文件时,没有任何内容被写入,例如node-econsole.log(123)>temp.txt正在创建一个名为temp.txt的空文件。有没有关于Node如何将console.out写入s

windows - WMI Process Call Create 将无法正确运行批处理脚本

这就是我想要做的:我有一个NLB集群。所述集群上有两台机器:Node1和Node2。我有第三台机器不在那个或任何集群中。这第三台机器叫做:Monitor1每小时一次,我想运行一个脚本来检查Node1和Node2是否启动。该脚本将通过TaskScheduler运行。我正在使用以下命令在Node1和Node2上执行脚本:wmic/node:NODE1,NODE2processcallcreate"C:\ClusterCheck.bat"ClusterCheck.bat脚本内容如下:NLBQuery|findstr/i/R/C:"host.isstopped"IF%ERRORLEVEL%EQ

windows - OpenGL -> wglCreateContext,WndProc 的 WM_CREATE 中的 wglMakeCurrent 使渲染失败

操作系统:Windows7,64位VisualStudio2010,调试,32位我正在尝试一个简单的Windows程序来开始使用openGL:所有程序应该做的就是用glClear(GL_COLOR_BUFFER_BIT)清除颜色缓冲区。在我在网上找到的教程中,我发现人们在创建窗口期间(因此在处理WM_CREATE消息期间)创建和设置openGL上下文。不知何故,我发现这对我的代码不起作用,而且我似乎无法弄清楚。所以,如果有人能指出我正确的方向。请在下文中找到我期望它如何根据教程工作的代码:#include#include#include#include"Application.h"HW

c++ - Create dir with Qt and Windows' "CreateDirectory"return -1, error

我想做一个简单的应用:在线编辑用户应该给出他/她想在工作目录中创建的目录的路径(路径应该总是这样的:./dirname-现在我不处理任何错误,假设一切正常)并且当他/她单击确定按钮时,应该创建一个名为“dirname”的目录。但是当我通过路径时,让我们说“./testdir”并单击“确定”,我的应用程序退出并显示“ERRORINCREATEDIRECTORY”,当然它不会创建目录。出了什么问题以及如何解决这个问题?我使用的是QtCreator2.8.1基于WindowsXP上的Qt5.1.1(MSVC2010,32位)。代码如下:主窗口.h#ifndefMAINWINDOW_H#def

python - 从 Python 调用 FSCTL_CREATE_OR_GET_OBJECT_ID

我正在尝试获取NTFS对象ID以在Python备份程序中使用。我有点不知所措,但设法创建了一个函数来返回……一些东西。importsysimportwin32fileimportwinioctlcondefobject_id(filename):"""NTFSOBJECT_ID"""fhandle=win32file.CreateFileW(#FileNamefilename,#DesiredAccesswin32file.GENERIC_READ,#ShareModewin32file.FILE_SHARE_READ|win32file.FILE_SHARE_WRITE,#Secur