引言
这篇文章我打算写一半,下面如何运用就看大家的了!什么意思呢?给大家两个工具剩下的发挥自己的想象力吧!组合之后会发现什么东西好像神奇起来!哈哈!!
一个函数(king推荐的)
通过这个函数你可以运行任意的命令行
示例
StdoutToVar_CreateProcess("notepad") ;没有返回值 Version := StdoutToVar_CreateProcess("wmic cpu get Processorid") ;有返回值
StdoutToVar_CreateProcess函数
; Im Original gilt "CP0"; zu CharSet CP850/CP858 vgl.: https://goo.gl/Y8xUYu , http://goo.gl/cMtc6i , https://goo.gl/ssCplI , https://goo.gl/s2P1jK StdoutToVar_CreateProcess(sCmd, sEncoding:="CP858", sDir:="", ByRef nExitCode:=0) { DllCall( "CreatePipe", PtrP,hStdOutRd, PtrP,hStdOutWr, Ptr,0, UInt,0 ) DllCall( "SetHandleInformation", Ptr,hStdOutWr, UInt,1, UInt,1 ) VarSetCapacity( pi, (A_PtrSize == 4) ? 16 : 24, 0 ) siSz := VarSetCapacity( si, (A_PtrSize == 4) ? 68 : 104, 0 ) NumPut( siSz, si, 0, "UInt" ) NumPut( 0x100, si, (A_PtrSize == 4) ? 44 : 60, "UInt" ) NumPut( hStdInRd, si, (A_PtrSize == 4) ? 56 : 80, "Ptr" ) NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 60 : 88, "Ptr" ) NumPut( hStdOutWr, si, (A_PtrSize == 4) ? 64 : 96, "Ptr" ) if ( !DllCall( "CreateProcess", Ptr,0, Ptr,&sCmd, Ptr,0, Ptr,0, Int,True, UInt,0x08000000 , Ptr,0, Ptr,sDir?&sDir:0, Ptr,&si, Ptr,&pi ) ) return "" , DllCall( "CloseHandle", Ptr,hStdOutWr ) , DllCall( "CloseHandle", Ptr,hStdOutRd ) DllCall( "CloseHandle", Ptr,hStdOutWr ) ; The write pipe must be closed before Reading the stdout. VarSetCapacity(sTemp, 4095) while ( DllCall( "ReadFile", Ptr,hStdOutRd, Ptr,&sTemp, UInt,4095, PtrP,nSize, Ptr,0 ) ) sOutput .= StrGet(&sTemp, nSize, sEncoding) DllCall( "GetExitCodeProcess", Ptr,NumGet(pi,0), UIntP,nExitCode ) DllCall( "CloseHandle", Ptr,NumGet(pi,0) ) DllCall( "CloseHandle", Ptr,NumGet(pi,A_PtrSize) ) DllCall( "CloseHandle", Ptr,hStdOutRd ) return sOutput }
一个比CMD更强大的命令行工具WMIC
以下内容:https://www.cnblogs.com/top5/p/3143837.html
先决条件:
a. 启动Windows Management Instrumentation服务,开放TCP135端口。
b. 本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”。
1. wmic
ode:”192.168.1.20″ /user:”domain\administrator” /password:”123456″
2.[硬件管理]:
获取磁盘资料:
wmic DISKDRIVE get deviceid,Caption,size,InterfaceType
获取分区资料:
wmic LOGICALDISK get name,Description,filesystem,size,freespace
获取CPU资料:
wmic cpu get name,addresswidth,processorid
获取主板资料:
wmic BaseBoard get Manufacturer,Product,Version,SerialNumber
获取内存数:
wmic memlogical get totalphysicalmemory
获得品牌机的序列号:
wmic csproduct get IdentifyingNumber
获取声卡资料:
wmic SOUNDDEV get ProductName
获取屏幕分辨率
wmic DESKTOPMONITOR where Status=’ok’ get ScreenHeight,ScreenWidth
3. PROCESS[进程管理]:
列出进程
wmic process list brief
(Full显示所有、Brief显示摘要、Instance显示实例、Status显示状态)
wmic 获取进程路径:
wmic process where name=”jqs.exe” get executablepath
wmic 创建新进程
wmic process call create notepad
wmic process call create “C:\Program Files\Tencent\QQ\QQ.exe”
wmic process call create “shutdown.exe -r -f -t 20”
wmic 删除指定进程:
wmic process where name=”qq.exe” call terminate
wmic process where processid=”2345″ delete
wmic process 2345 call terminate
wmic 删除可疑进程
wmic process where “name=’explorer.exe’ and
executablepath<>’%SystemDrive%\\windows\\explorer.exe'” delete
wmic process where “name=’svchost.exe’ and
ExecutablePath<>’C:\\WINDOWS\\system32\\svchost.exe'” call Terminate
3. USERACCOUNT[账号管理]:
更改当前用户名
WMIC USERACCOUNT where “name=’%UserName%'” call rename newUserName
WMIC USERACCOUNT create /?
4. SHARE[共享管理]:
建立共享
WMIC SHARE CALL Create “”,”test”,”3″,”TestShareName”,””,”c:\test”,0
(可使用 WMIC SHARE CALL Create /? 查看create后的参数类型)
删除共享
WMIC SHARE where name=”C$” call delete
WMIC SHARE where path=’c:\\test’ delete
5. SERVICE[服务管理]:
更改telnet服务启动类型[Auto|Disabled|Manual]
wmic SERVICE where name=”tlntsvr” set startmode=”Auto”
运行telnet服务
wmic SERVICE where name=”tlntsvr” call startservice
停止ICS服务
wmic SERVICE where name=”ShardAccess” call stopservice
删除test服务
wmic SERVICE where name=”test” call delete
6. FSDIR[目录管理]
列出c盘下名为test的目录
wmic FSDIR where “drive=’c:’ and filename=’test'” list
删除c:\good文件夹
wmic fsdir “c:\\test” call delete
重命名c:\test文件夹为abc
wmic fsdir “c:\\test” rename “c:\abc”
wmic fsdir where (name=’c:\\test’) rename “c:\abc”
复制文件夹
wmic fsdir where name=’d:\\test’ call copy “c:\\test”
7.datafile[文件管理]
重命名
wmic datafile “c:\\test.txt” call rename c:\abc.txt
8.[任务计划]:
wmic job call create “notepad.exe”,0,0,true,false,********154800.000000+480
wmic job call create “explorer.exe”,0,0,1,0,********154600.000000+480
寄语
希望大家积极参与进来,我希望看到大家创造出来的怪物!有新的组合请留言评论!谢谢大家!
用py脚本调用百度文字识别API,然后ahk获取标准输出。很爽,有了这个函数再也不会弹黑框了
有个简单的实例就更好了
偶然看到这个项目,感觉使用代价比较高,非常高
站长很用心经营,不过,依我看来,站长获取资金的方向大错特错。
站长能属于ahk华语第一人,但是,使用ahk的人总共有多少呢?
若使用ahk的程序员不多,第一人有多大意义呢。
故,我觉得应该给开发者的不是收取费用,而是与众多分包团队合作,召集任务让更多人来接单,平台收取一定比例作为运营平台的成本
嗯嗯 有道理 不过目前的任务量较小 我们团队可以应付起来
站长持有一个编辑器品牌,封装一些带有版权的开发环境(诸如非开源的认证之类),这样的发展是否更佳呢?
封装一些链式方法供大家调用,开源多少站长考虑,我个人建议尽量开源,
没有羊何来羊毛
没有一两万以上程序员使用的代码类,写的再好又有多大成就感呢?
没有几万人使用的工具,工具维护又有多大意义呢?
基于开源,植入新鲜实质性代码,诸如封装各种语言的调用类、诸如各种平台下的运行包,提供版权式的开发工具编译界面,提供多种开源优质的习惯的项目链式调用(诸如抓包及判断),等等等等,站长是可以成为一代宗师
谢谢你提这么多好的建议,提的建议非常好。