我做过一些研究,但我希望能够从python中调用control-alt-delete。如果这是不可能的,可以从命令行调用它,因为那时我可以在python中使用该命令,因为我可以在python中调用命令行。如果有人能指出我正确的方向,这将是伟大的。这是用wxPython编写的任务管理器。 编辑: 即时通讯尝试启动Windows安全性,并从用户回答我尝试
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("{CONTROL}{ALT}{DELETE}")
我收到此错误
Traceback (most recent call last):
File "C:/Python27/tescontrol.py", line 4, in <module>
shell.SendKeys("{CONTROL}{ALT}{DELETE}")
File "<COMObject WScript.Shell>", line 2, in SendKeys
com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
答案 0 :(得分:1)
您的意思是激活Windows安全窗口。在这种情况下:
import win32com.client
shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("^(%{DELETE})")
更新
由于其他帖子中描述的原因,上述代码似乎无效。在这种情况下,另一种方法是创建一个类似的窗口,并从Python调用真正的Windows安全窗口调用的不同程序/函数。
在阅读OP对原始问题的评论时,OP的最终需求是更改用户的密码。这可以通过以下方式完成:
from win32com import adsi
ads_obj = adsi.ADsGetObject("WinNT://localhost/%s,user" % username)
ads_obj.SetPassword(password)
我刚刚在我的电脑上对此进行了测试,最终信息也是如此(虽然不一定正确;这取决于OP :-))。
更新2:将后面的内容复制为单独的答案,因为评论似乎表明所有答案都不起作用。这对SendKeys
命题是正确的,这不起作用。
答案 1 :(得分:0)
如果您要做的是关闭或重启系统,Windows有一个'shutdown'命令,linux通常有'shutdown'和'reboot'命令。
答案 2 :(得分:0)
查看以下主题:
根据它,VNC使用这样的东西:
PostMessage HWND_BROADCAST, WM_HOTKEY, 0, MakeLong(MOD_ALT Or MOD_CONTROL, VK_DELETE)
我怀疑你需要使用ctypes或PyWin32做这样的事情。我可能会使用ctypes,因为它是跨平台的,但是,即使使用ctypes,你可能需要为你支持的每个操作系统编写一个特殊的方法。
答案 3 :(得分:0)
据我所知,出于安全原因,Ctrl-Alt-Delete受到保护,因此程序无法使用它。 (至少在Windows 7及之前。)
答案 4 :(得分:0)
在阅读OP的评论时,他/她的原始需求是更改用户的密码。事实上,这可以通过以下方式完成:
from win32com import adsi
ads_obj = adsi.ADsGetObject("WinNT://localhost/%s,user" % username)
ads_obj.SetPassword(password)
答案 5 :(得分:0)
答案 6 :(得分:0)
这是您至少可以尝试的一种方法: (它可能只适用于 Windows 7)
import sys
import localize
import os
value_from = 0
Integer = _clear_type_cache(get_object[win\%sys(vnc_value*cache)* value_from])
def Interclass(event):
try:
[<'ctrl'><'alt'><'del'>{%user_value(*object)*value_form}] % cache
except:
{%TOPMOST%'TEMP'_%VALUE_REGISTRY}*
else:
print("No value")