Articles of Windows

在Python中获取短path

如何在Windows中使用python获取文件的短path? 我正在使用下面的代码, #!/usr/bin/python import os import sys fileList = [] rootdir = sys.argv[1] for root, subFolders, files in os.walk(rootdir): for file in files: fileList.append(os.path.join(root,file)) for File in fileList: print File

如何从任务栏(XE4)隐藏firemonkey应用程序button?

根据这个问题 ,可以通过将窗口样式更改为WS_EX_TOOLWINDOW来隐藏fmx任务栏图标。 在XE2和XE3这个代码工作: uses FMX.Platform.Win, Winapi.Windows; procedure TForm1.Button1Click(Sender: TObject); var h:THandle; begin h := FmxHandleToHWND(Handle); ShowWindow(h, SW_HIDE); SetWindowLong(h, GWL_EXSTYLE, GetWindowLong(h, GWL_EXSTYLE) or WS_EX_TOOLWINDOW); ShowWindow(h, SW_SHOW); end; 在XE4这个解决scheme不起作用(应用程序button应该隐藏,但没有任何反应)。 任何机构有任何想法? 谢谢。

如何使用C / C ++检索可移动存储驱动器号

如何获得可移动驱动器号,以便我可以创build一个path并将数据从PC复制到可移动驱动器? 目前我正在使用 _getcwd(buff,b_SIZE); MessageBox(buff); strncpy(Root,buff,3); 如果直接从USB运行我的软件,我没有问题,它会返回给我D或E:,这取决于我猜的可用性。 但我的问题是我必须从个人电脑上运行我的USB程序,这当然是安装在C盘上的PC程序,因此这个_getcwd会给我C:\盘符。 这就是为什么我正在寻找,如果有一种方法来检查当前的可移动驱动器号。 这是我能find的最接近我的问题: 检测可移动驱动器(如USB闪存驱动器)的C / C + +

Powershell使用ScheduledJob在启动时使用pipe理权限运行作业

为了减轻我的一些工作,我创build了一个PowerShell脚本,它需要: 在启动时运行。 使用pipe理员权限运行,因为它必须写在c:\ program files文件夹中。 我使用PowerShell创build启动服务,如下所示: function MakeStartupService { Write-Host "Adding script as a startup service" $trigger = New-JobTrigger -AtStartup -RandomDelay 00:00:15 Try { Register-ScheduledJob -Trigger $trigger -FilePath "absolute_path" -Name "Job-name" -EA Stop } Catch [system.exception] { Write-Host "Looks like an existing startup service exists for the same. Overwriting existing job" Unregister-ScheduledJob "Job-name" Register-ScheduledJob -Trigger […]

使用IMessageFilter和DoEvents的模式操作

这是一个Windows窗体应用程序。 我有一个函数捕获一些模拟鼠标事件,直到满足条件。 例如,我想等待用户在函数返回之前在窗口的客户区域中select一个点(或者可以select使用Escape键取消操作)。 我正在使用以下结构: Application::AddMessageFilter(someFilter); while(someFilter->HasUserSelectedAPoint_Or_HitEscapeKey()){ Application::DoEvents(); } Application::RemoveMessageFilter(someFilter); 这工作相当好,除了控制进入while循环时占用近100%的CPU使用率。 我正在寻找类似于以下所示的替代scheme: Application::AddMessageFilter(someFilter); while(someFilter->HasUserSelectedAPoint_Or_HitEscapeKey()){ // Assuming that ManagedGetMessage() below is a blocking // call which yields control to the OS if(ManagedGetMessage()) Application::DoEvents(); } Application::RemoveMessageFilter(someFilter); 什么是正确的方式来使用IMessageFilter和DoEvents ? 我如何向操作系统放弃控制,直到收到消息? 托pipe世界中的任何GetMessage等效项?