24小时热门版块排行榜    

查看: 251  |  回复: 8
当前主题已经存档。
【悬赏金币】回答本帖问题,作者无声黑白破东风将赠送您 10 个金币

无声黑白破东风

银虫 (正式写手)

[求助] 懂VB的请进:如何查看一个程序运行后,记录的命令格式。

比如调用RNAstructure.exe后,输入的是rna.seq,得到的结果是rna.ct
命令记录就是:
D:\Program   Files\RNAstructure   4.11\RNAstructure.exe""   /fold   -s   rna.seq   -c   rna.ct

网上找到了有人编好的,可是看不懂,有高手帮我看看,如何用吗?
编好的在http://community.csdn.net/Expert/TopicView3.asp?id=5601470
“hotus“的
*****************************************************************
模块中
Private Declare Function NtQueryInformationProcess Lib "ntdll" (ByVal ProcessHandle As Long, ByVal ProcessInformationClass As Long, ByRef ProcessInformation As Any, ByVal lProcessInformationLength As Long, ByRef lReturnLength As Long) As Long
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Const PROCESS_ALL_ACCESS = &H1F0FFF
Public Const PROCESS_TERMINATE = &H1
Public Const PROCESS_VM_READ = 16
Public Const PROCESS_QUERY_INFORMATION = 1024
Public Const PROCESS_SET_INFORMATION = 612
Private Type PROCESS_BASIC_INFORMATION
ExitStatus As Long
PebBaseAddress As Long
AffinityMask As Long
BasePriority As Long
UniqueProcessId As Long
InheritedFromUniqueProcessId As Long
End Type

Public Function GetCmdLine(ByVal plngPID As Long) As String
Dim strBuffer As String
Dim hProcess As Long
Dim offset1 As Long
Dim offset2 As Long
Dim Dummy As Long
Dim Info As PROCESS_BASIC_INFORMATION
Const STATUS_SUCCESS As Long = 0

offset1 = 1
offset2 = 0

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, plngPID)
If (hProcess = 0) Then
Exit Function
End If
If (NtQueryInformationProcess(hProcess, 0, Info, Len(Info), ByVal 0& <> STATUS_SUCCESS) Then
CloseHandle hProcess
Exit Function
End If
If (ReadProcessMemory(hProcess, (Info.PebBaseAddress + &H10), offset1, 4, Dummy) = STATUS_SUCCESS) Then
CloseHandle hProcess
Exit Function
End If

If (ReadProcessMemory(hProcess, (offset1 + &H44), offset2, 4, Dummy) = STATUS_SUCCESS) Then
CloseHandle hProcess
Exit Function
End If
strBuffer = String(256, " "
If (ReadProcessMemory(hProcess, offset2, ByVal strBuffer, 256, Dummy) = STATUS_SUCCESS) Then
CloseHandle hProcess
Exit Function
End If
CloseHandle hProcess
strBuffer = Left$(strBuffer, InStr(strBuffer, Chr(0) & Chr(0)))
GetCmdLine = StrConv(strBuffer, vbFromUnicode)
End Function


使用
msgbox getcmdline(进程PID)
****************************************************************

[ Last edited by 无声黑白破东风 on 2007-8-30 at 10:33 ]

» 猜你喜欢

周杰伦粉丝团团长!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liaoyongpi

木虫 (正式写手)

没明白什么意思?
要看命令格式好像命令后面+“?”就可以吧。
2楼2007-08-29 17:45:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

无声黑白破东风

银虫 (正式写手)

up              
3楼2007-08-30 10:34:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ihlw

★ ★ ★ ★ ★
无声黑白破东风(金币+5,VIP+0):你好,我试用了一下,输入了pid后,只看见方法一里有了exe文件的位置,但是点击后,总是报run-time error: '438'...这是为啥呢? xixi...
程序见:

http://ihlw.ys168.com/

里面“临时”目录。

包含源文件和编译好的程序。

直接运行“GetCommandLine.exe”后,点击方法1就行。方法2需要知道程序的pid值。打开任务管理器,菜单-》查看=》选择列-》选中pid,然后输入相对应的pid,按“方法2”也行。
4楼2007-08-31 12:26:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ihlw

★ ★ ★ ★ ★
无声黑白破东风(金币+2,VIP+0):不知为啥,还是不行,我把Rnastructure程序放到http://wshbpdf.ys168.com/了,辛苦你了
无声黑白破东风(金币+3,VIP+0):嘿嘿,我在winxp下试了,可以运行了,可惜看不到RNAstructure.exe的参数 【/fold -s rna.seq -c rna.ct】,估计比较难做吧^_^
请试试新版
5楼2007-09-03 23:25:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gyh

至尊木虫 (著名写手)

这个程序我理解是:先通过 OpenProcess获得D:\Program   Files\RNAstructure   4.11\RNAstructure.exe可执行文件的进程,然后利用NtQueryInformationProcess向该进程输入参数,即""   /fold   -s   rna.seq   -c   rna.ct,最后采用ReadProcessMemory来获得执行结果。这段程序的思想是进程之间操作。不知道你为何不采用excute等函数来完成任务(具体函数名称请查帮助)?
6楼2007-09-04 07:30:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

无声黑白破东风

银虫 (正式写手)

周杰伦粉丝团团长!
7楼2007-09-04 10:41:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

无声黑白破东风

银虫 (正式写手)

周杰伦粉丝团团长!
8楼2007-09-04 10:43:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 无声黑白破东风 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 284求调剂 +4 junqihahaha 2026-03-26 4/200 2026-03-26 12:36 by 张凯十八号
[考研] 寻找调剂 +4 倔强芒? 2026-03-21 7/350 2026-03-26 11:49 by 倔强芒?
[考研] 289求调剂 +15 硕星赴 2026-03-23 15/750 2026-03-26 02:16 by BruceLiu320
[考研] 求调剂 +3 芦lty 2026-03-25 4/200 2026-03-25 23:25 by 芦lty
[考研] 312求调剂 +5 上岸吧ZJY 2026-03-22 7/350 2026-03-25 22:20 by 544594351
[考研] 机械学硕总分317求调剂!!!! +4 Acaciad 2026-03-25 4/200 2026-03-25 19:59 by hanserlol
[考研] 085602 289分求调剂 +7 WWW西西弗斯 2026-03-24 7/350 2026-03-25 14:28 by 3Strings
[考研] 材料学硕333求调剂 +4 北道巷 2026-03-24 4/200 2026-03-25 14:16 by mapenggao
[考研] 303求调剂 +6 元夕元 2026-03-20 7/350 2026-03-25 12:00 by edmund7
[考研] 一志愿吉林大学材料与化工303分求调剂 +4 为学666 2026-03-24 4/200 2026-03-25 11:27 by BruceLiu320
[考研] 材料学硕,求调剂 6+4 糖葫芦888ll 2026-03-22 9/450 2026-03-25 11:19 by greychen00
[考研] 材料调剂 +6 匹克i 2026-03-23 6/300 2026-03-24 21:09 by greychen00
[考研] 279分求调剂 一志愿211 +18 chaojifeixia 2026-03-19 20/1000 2026-03-24 10:34 by dolphin_ycj
[考研] 材料/农业专业,07/08开头均可,过线就行 +3 呵唔哦豁 2026-03-23 4/200 2026-03-23 22:30 by 汪!?!
[考研] 293求调剂 +3 涛涛Wjt 2026-03-22 5/250 2026-03-22 22:21 by jiangpengfei
[考研] 324求调剂 +6 lucky呀呀呀鸭 2026-03-20 6/300 2026-03-22 16:01 by ColorlessPI
[考研] 266求调剂 +3 哇呼哼呼哼 2026-03-20 3/150 2026-03-21 16:46 by barlinike
[考研] 一志愿重庆大学085700资源与环境总分308求调剂 +7 墨墨漠 2026-03-20 7/350 2026-03-21 16:36 by barlinike
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
信息提示
请填处理意见