Программинг Форум для тем связанных с программированием
18.06.2010, 20:38
#1
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Получить параметры командной строки
Хочу автоматизировать создание ярлыков для Л2. Кто может подсказать как можно получить параметры командной строки другого приложения. Какие то существует для этого функции в WINAPI, а то гугл молчит как партизан?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
18.06.2010, 20:55
#2
Рыцарь
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
в аттаче
Последний раз редактировалось alexteam, 20.06.2010 в 13:01 .
Причина: Добавлено сообщение
За это сообщение alexteam нажился 4 спасибками от:
18.06.2010, 21:26
#3
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Спасибо. А как можно программно узнать последовательность запуска процессов?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
18.06.2010, 22:48
#4
Рыцарь
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
отслеживая их запуск ? %)
__________________
L2Ext - project closed.
19.06.2010, 03:27
#5
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
А не отслеживая? Разве нет какой нибудь иерархии вызовов и функций работы сними, что то вроде getprocparent ... ?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
19.06.2010, 03:29
#6
Новичок
Регистрация: 16.06.2010
Сообщений: 4
Сказал Спасибо: 2
Имеет 1 спасибку в 1 сообщении
по времени создания процесса?
_ttp://www.codeproject.com/KB/threads/getprocesstimes.aspx
20.06.2010, 06:13
#7
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
lam , могут быть неоднозначности когда 2 процесса запускаются почти одновременно..
ProcessExplorer откуда то показывает точные сведения.
Добавлено через 26 минут
О что то нашел, используя Process32First, Process32Next ищем наш процесс. Когда найдем, в возращенной функцией структуре будет все нужное. Сейчас проверю.
typedef struct tagPROCESSENTRY32 {
DWORD dwSize;
DWORD cntUsage;
DWORD th32ProcessID;
ULONG_PTR th32DefaultHeapID;
DWORD th32ModuleID;
DWORD cntThreads;
DWORD th32ParentProcessID;
LONG pcPriClassBase;
DWORD dwFlags;
TCHAR szExeFile[MAX_PATH];
} PROCESSENTRY32, *PPROCESSENTRY32;
Добавлено через 18 часов 5 минут
Все получилось. Вот рабочая функция, может кому пригодится.
delphi Код:
function GetParentProcessID( procID: cardinal ) : cardinal ;
var
hSnap: cardinal ;
procEntry: tagPROCESSENTRY32;
begin
Result:= 0 ;
hSnap:= CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ) ;
procEntry.dwSize := SizeOf ( procEntry) ;
if Process32First( hSnap, procEntry) then
begin
repeat
if procEntry.th32ProcessID = curProcID then
begin
Result:= procEntry.th32ParentProcessID ;
break ;
end ;
until not Process32Next( hSnap, procEntry) ;
end
else
begin
ShowMessage ( SysErrorMessage( GetLastError ) ) ;
end ;
CloseHandle( hSnap) ;
end ;
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Последний раз редактировалось Yegor, 20.06.2010 в 06:15 .
Причина: Добавлено сообщение
20.06.2010, 11:02
#8
Местный
Регистрация: 09.01.2010
Сообщений: 384
Сказал Спасибо: 60
Имеет 27 спасибок в 24 сообщенях
И как тебе ид парент процесса поможет узнать последовательность запуска процессов?
20.06.2010, 12:36
#9
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Prixmegently , а что из функции не видно как?
procEntry.th32ParentProcessID
Добавлено через 25 минут
alexteam , что то твоя функция постоянно возвращает пустую строку. Ты её проверял?
LengthCmdLine := PWord(Longint(Buffer) + $42)^; возращает 2 хотя командная строка гораздо длиннее.
После выполнения PosCmdLine := Pointer(PLongint(Longint(Buffer) + $44)^); PosCmdLine = nil.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Последний раз редактировалось Yegor, 20.06.2010 в 12:45 .
Причина: Добавлено сообщение
20.06.2010, 12:50
#10
Рыцарь
Регистрация: 13.10.2009
Сообщений: 665
Сказал Спасибо: 38
Имеет 172 спасибок в 108 сообщенях
проверил GetProcessCmdLine
delphi Код:
MessageBox( 0 ,pchar ( GetProcessCmdLine( GetCurrentProcessID) ) ,'' ,0 ) ;
и правда непашет
можеш
изнутри процесса выцепить свои логин и пасс
delphi Код:
procedure LineageII_acc_manager;
var
get_param,login,pass:string ;
i:integer ;
begin
i:=1 ;
get_param:=ParamStr ( 1 ) ;
while ( get_param[i]<>':' ) do Inc ( i) ;
Inc ( i) ;
while ( get_param[i]<>char( 0 ) ) do
begin
login:=login+get_param[i];
Inc ( i) ;
end ;
i:=1 ;
get_param:=ParamStr ( 2 ) ;
while ( get_param[i]<>':' ) do Inc ( i) ;
Inc ( i) ;
while ( get_param[i]<>char( 0 ) ) do
begin
pass:=pass+get_param[i];
Inc ( i) ;
end ;
MessageBox( 0 ,pchar ( login) ,pchar ( pass) ,0 ) ;
end ;
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 07:01 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!