
15.05.2019, 17:08
|
|
Участник форума
Регистрация: 04.07.2015
Сообщений: 168
С нами:
5715860
Репутация:
78
|
|
[QUOTE="SAMP.ASI"]
Хочу получить ники всех игроков на сервере.
C++:
[CODE]
int
main
(
)
{
DWORD pID
;
char
moduleName
[
]
=
"samp.dll"
;
HWND hGameWindow
=
FindWindow
(
NULL
,
L
"GTA:SA:MP"
)
;
GetWindowThreadProcessId
(
hGameWindow
,
&
pID
)
;
HANDLE pGta
=
OpenProcess
(
PROCESS_VM_READ
,
FALSE
,
pID
)
;
DWORD pSamp
=
GetModuleBaseAddress
(
pID
,
L
"samp.dll"
)
;
cout
strPlayerName
C++:
[CODE]
#include
#include
#include
#include
#include
using
namespace
std
;
DWORD
GetProcId
(
const
wchar_t
*
procname
)
{
PROCESSENTRY32 pe
;
HANDLE hSnap
;
pe
.
dwSize
=
sizeof
(
PROCESSENTRY32
)
;
hSnap
=
CreateToolhelp32Snapshot
(
TH32CS_SNAPPROCESS
,
NULL
)
;
if
(
Process32First
(
hSnap
,
&
pe
)
)
{
do
{
if
(
wcscmp
(
pe
.
szExeFile
,
procname
)
==
0
)
break
;
}
while
(
Process32Next
(
hSnap
,
&
pe
)
)
;
}
return
pe
.
th32ProcessID
;
}
DWORD
get_module
(
DWORD processID
,
const
wchar_t
*
name
)
{
HMODULE hMods
[
1024
]
;
HANDLE hProcess
;
DWORD cbNeeded
;
unsigned
int
i
;
// Print the process identifier.
printf
(
"\nProcess ID: %u\n"
,
processID
)
;
// Get a handle to the process.
hProcess
=
OpenProcess
(
PROCESS_QUERY_INFORMATION
|
PROCESS_VM_READ
,
FALSE
,
processID
)
;
if
(
NULL
==
hProcess
)
return
1
;
// Get a list of all the modules in this process.
if
(
EnumProcessModules
(
hProcess
,
hMods
,
sizeof
(
hMods
)
,
&
cbNeeded
)
)
{
for
(
i
=
0
;
i
strPlayerName
Попробуй это.
|
|
|