我想获取远程计算机上已安装软件的列表。为此我想在我的android应用程序中使用python脚本。现在,我有一个python脚本,它正在远程计算机上获取已安装软件的列表。但是,我不知道如何在android中支持它。
为此,我找到了SL4A android Scripting here。所以,我尝试使用SL4A在Android设备上运行我的python脚本。但它没有工作并且给我错误,因为某些软件包如win32.client缺失。我不知道更多关于SL4A因此我不知道如何在Android支持的格式转换我的python脚本。所以,任何人有任何想法或代码,请建议我.....
此外,如果有人有其他方法从远程PC获取安装的软件列表,请建议...
下面是我的python脚本
import wmi
from winreg import (HKEY_LOCAL_MACHINE, KEY_ALL_ACCESS, OpenKey, EnumValue, QueryValueEx)
c = wmi.WMI(computer="PC02",user="admin",password="a@1",namespace="root/default").StdRegProv
result, names = c.EnumKey (hDefKey=HKEY_LOCAL_MACHINE, sSubKeyName=r"Software\Microsoft\Windows\CurrentVersion\Uninstall")
print('These subkeys are found under "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"\n\n')
separator = "*" * 80
keyPath = r"Software\Microsoft\Windows\CurrentVersion\Uninstall"
count = 0
while count < len(names):
try:
print(separator+'\n')
path = keyPath + "\\" + names[count]
key = OpenKey(HKEY_LOCAL_MACHINE, path, 0, KEY_ALL_ACCESS)
temp = QueryValueEx(key, 'DisplayName')
display = str(temp[0])
print (" Name: "+display+'\n',"key:",names[count])
count += 1
except:
print ("Key:",names[count])
count += 1
continue
答案 0 :(得分:3)
在远程计算机上运行脚本,并在HTTP上公开已安装软件的列表,编写这个简单的Web应用程序的好方法是使用flask及其开发服务器来提供已安装软件的列表,然后编写一个python脚本使用本机android web界面获取列表并显示它。
答案 1 :(得分:2)
您在删除库时遇到问题,因为您要导入特定于Windows的库。无论如何,这不是正确运行的脚本。这个脚本似乎是用于计算机,而不是Android手机。
答案 2 :(得分:1)
您正在尝试在没有该库的设备上使用使用Windows Management Instrumentation (WMI)的Python脚本。
可悲的是,Python上的WMI需要win32库,该库仅在Windows上可用。我认为以这种方式从Android设备检查远程Windows计算机上安装的程序不会有太大成功。
答案 3 :(得分:0)
由于WMI基于WBEM,您可以使用wbem来访问它;你可能想尝试使用pywbem,一个纯python wbem库。
答案 4 :(得分:0)
现在可以使用任务
在gradle系统中运行python脚本task pythonFile(type:Exec) {
workingDir 'src_path'
commandLine 'python', 'my_script.py'
}