草庐IT

python - 使用 Python 检查任意用户是否在管理员组中

有没有办法检查任何给定用户是否在管理员组中?我知道如何检查当前用户是否是管理员,使用:importctypesprintctypes.windll.shell32.IsUserAnAdmin()但是,如果我以userA身份登录,我想知道userZed是否具有管理员权限。任何指示或建议都会有所帮助,看来我无法找到有关ctypes.windll.shell32的任何文档。 最佳答案 这是一个带有代码的网站:http://skippylovesmalorie.wordpress.com/tag/python-windows/我测试了它,它

python - 使用 CTypes 时检测从 Windows DLL 调用 Python 脚本

我正在寻求在Windowsdll中添加功能以检测调用Python脚本的名称。我正在使用ctypes通过Python调用dll,如HowcanIcallaDLLfromascriptinglanguage?的答案中所述在dll中,我能够使用WINAPIGetModuleFileName()成功确定调用进程http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx.但是,由于这是一个Python脚本,它通过Python可执行文件运行,因此返回的模块文件名为“C:/Python33/Python

c++ - 从 Python 调用自定义的 C++ dll

我的C++IDE是VisualStudio2012ExpressVersion,我的PythonIDE是Aptana3(64位)。我的电脑是Windows764位系统。我用C++(Win32控制台应用程序)编写了一个.dll,它基本上遵循MSDN中的说明。.当我使用C++应用程序调用它时,它运行良好。然后我尝试通过以下代码从Python中调用它:importctypesd=ctypes.WinDLL("C:\\DynamicLibrary\\Debug\\MathFuncsDll.dll")但是,我遇到了以下错误:File"``",line1,ind=ctypes.WinDLL("C:

python - 使用 python 设置 Windows 壁纸不起作用

下面的python代码应该从Web下载BMP图像并将其保存到磁盘,然后将墙纸更改为下载的图像。壁纸更改应该是永久性的,即重启后不会恢复。此函数是我使用pyinstaller编译成二进制exe的更大脚本的一部分。问题是,当我运行该程序时,应该更改墙纸的位不起作用,我无能为力地试图找出原因。有趣的是,如果我在python解释器中运行这段代码,它会按预期工作。此外,在先前版本的已编译脚本中,墙纸更改工作顺利。将不胜感激任何意见、帮助和见解!defwallpaper():try:os.chdir(launch_directory)urllib.urlretrieve('http://www.i

python - 从 ctypes windll 获取错误信息

我正在尝试使用Python脚本更改Windows7计算机上的墙纸。如果重要的话,我会从node-webkit应用程序调用脚本。缩短后的脚本如下所示:#...result=ctypes.windll.user32.SystemParametersInfoA(20,0,path,0)通常,它会起作用,但有时,似乎是随机的,它却不起作用。除了状态代码(0或1)之外,我有什么方法可以检索有关错误的更多信息?我一直在尝试使用GetLastError,它有时会在ctypes库中被提及,但无法提取任何错误信息。 最佳答案 ctypes文档建议使用

Python 3.5 ctypes libc printf() 仅打印字符串的第一个字节 Windows 7/10

我正在尝试遵循GrayHatPython示例之一,它在Python2.7中运行良好,但在Python3.5中结果被截断。fromctypesimport*msvcrt=cdll.msvcrtmessage_string="HelloWorld!\n"msvcrt.printf("Testing:%s\n",message_string)您可以在下面看到上面代码的输出只是字母T。基于一些与此类似的其他帖子,在最后一行添加b会有所帮助,但随后message_string会被截断。fromctypesimport*msvcrt=cdll.msvcrtmessage_string="Hello

Python - 如何获取内存地址的值?

我试图让Python从诸如0x101BFFDC之类的地址获取值/数据,这是我通过使用游戏CheatEngine发现的。我做了很多研究,认为我需要使用ReadProcessMemory。但是,我尝试了几个例子都没有成功。例如,我找到了如下代码:fromctypesimport*fromctypes.wintypesimport*importstructOpenProcess=windll.kernel32.OpenProcessReadProcessMemory=windll.kernel32.ReadProcessMemoryCloseHandle=windll.kernel32.Cl

Python 如何让 MessageboxW 保持在所有其他窗口之上?

上下文:我有一个小脚本,它通过使用Windows内置消息框(引用:MSDNMessageBox)创建一个消息框来提醒用户事件,该消息框是使用ctypes导入的。此脚本适用于Windows操作系统。问题:目前,消息框会出现在所有其他窗口的顶部,但由于它是一个很小的窗口,用户可以轻松地单击另一个可能隐藏消息框的窗口。我想要什么我想让消息框始终位于其他窗口之上。如果无法做到这一点,那么有没有办法增加消息框的尺寸?示例代码:importctypesctypes.windll.user32.MessageBoxW(0,text,title,0x00010000) 最佳

python - 如何在 Python 中实现 Windows 10 IVirtualDesktopManager 接口(interface)?

我正在尝试实现IVirtualDesktopManagerinterface(以及之后的hopefullyIVirtualDesktopManagerInternal)基于thisSOanswer的Python,但我卡住了。编辑:我想要一个Python中的工作示例,它至少会引导我实现IsWindowOnCurrentVirtualDesktop方法-当hwnd传递给它时它应该返回一个bool值。使用pywin32我可以在这个过程中到达某个点,但我不确定我是否可以在纯Python中做到这一点,也不确定如何继续:#bypythoncom.pyimportpythoncomimportpyw

python - 是否可以在 Windows 中获取打印机名称列表?

我正在尝试为Windows创建自动打印机安装程序。如果我想提取打印机列表,我将如何在Python中实现?我知道有一种方法可以在命令行上使用VB脚本获取列表,但这给了我不需要的额外信息,而且没有真正好的方法将数据导入Python(据我所知)这样做的原因是获取值并将它们放入列表中,然后让它们对照另一个列表进行检查。一个列表中的任何内容都将被删除。这可确保该程序不会安装重复的打印机。 最佳答案 您可以使用pywin32的win32print.EnumPrinters()(更方便),或通过ctypes模块调用EnumPrinters()AP