Witam , temat może wam jest znany lecz nie mogłem znaleźć go na forum, mój problem jest następujący robię program który wysyła plik na serwer ftp z gry , program dodaje do autostartu systemu i wszystko jest świetnie , ale powstaje jeden problem , jeżeli gracze owej gry bedą mieli ten plik to program nie bedzie znał swojej lokalizacjii nie bedzie mógl go dodać do autostartu i tu się pojawia pytanie jak zrobić by program pobierał sciezke swojej lokalizacji i zapisywał w funkcji która odpowiada za dodawanie autostartu, proszę o pomoc jeżeli napisałem coś niezrozumiale, wyjaśnie jeszcze raz by było zrozumiane , licze na was :)
jakby miał to być program ala virus czy inny szit , nie pisał bym o grze tylko o tym virusie wprost :D potrzebna mi pomoc z tym co na górze napisałem w 2 kwestiach, 1 kwestia jest taka że program jest zbindowany do Clienta gry który wyszukuje w procesach nielegalnych opragramowań wspomagajacych gre i wylacza je poczym zapisuje w logach i te logi wysyla mi na ftp bym wiedział ktorego gagatka zbanować a 2 rzecz update, jeżeli osoba zrobi update wysyla txt o numerze "1" poczym sprawdza czy jest nastepny nr czyli update nastepne :D i co tu jeszcze, nie powinienem ci sie tłumaczyć ale zrobie to z przyjemnością także jeżeli jesteś mi wstanie pomóc lub naprowadzic na dana ścieżke bede wdzieczny :) a program do wykrywania nie legalnych wspomagaczy i update chce zrobić wraz z autostartem windowsa i tu tkwi problem .
- Rejestracja:ponad 9 lat
- Ostatnio:4 dni
- Postów:1082
Będę wredny skoro zdołałeś napisać tak zaawansowane funkcje jak update, pobieranie z serwera czy zabezpieczenia przed cheaterami to nie wierzę, że nie jesteś w stanie wyszukać w google frazy np. "exe location winapi" Już pierwszy link z SO podaje rozwiązanie :]
a jaki jest problem napisać tak banalny kod do łączenia się z ftp i zassysania pliku i sprawdzanie procesów
#ifdef DEF_ANTI_CHEAT_SYSTEM
BOOL CGame::CheckProcesses()
{
HANDLE hSnapShot;
PROCESSENTRY32 uProcess;
BOOL r;
BOOL bFound = FALSE;
char *Ufoundprocess;
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
uProcess.dwSize = (DWORD)sizeof(PROCESSENTRY32);
r = Process32First(hSnapShot, &uProcess);
do
{
Ufoundprocess = _strupr( uProcess.szExeFile );
if ( strcmp(Ufoundprocess, "SPEEDERXP.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "WPE PRO.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "TEHELGAME.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "HELGAME.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEED HACK.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEEDER XP.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEEDGEAR.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEED GEAR.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEEDHACKNT.EXE") == 0) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "ASPEEDER.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "TSEARCH.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "TS.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "PSNIFF.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SPEED.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "XSPEED 5.0.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "CLIENTHACK.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "SOFTSNOOPPY.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "EXETOOLS.COM") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "EIDTZBIIEIDTZEIEX_V1-1.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "!XSPEED.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "XSPEED.EXE") == 0 ) bFound = TRUE;
else if ( strcmp(Ufoundprocess, "WPEPRO.EXE") == 0 ) bFound = TRUE;
if(bFound == TRUE)
{
sprintf(NazwaProgramu, "%s", Ufoundprocess);
//użytkownik ma być nieświadomy sprawdzania jego procesów ;]
//SetTopMsg("Illegal program running in your PC.", 8);
return bFound;
}
r = Process32Next(hSnapShot, &uProcess);
}
while ( r );
CloseHandle(hSnapShot);
return bFound;
}
#endif
to robiłem wiele razy i jest dla mnie łatwe a to o co poprosiłem wyżej nigdy nie robiłem jest dla mnie nowością wiec niewiedziałem jak sie za to zabrać ale dzieki za wskazówkę , dałem kawałek kodu jakbyście dalej mi nie wierzyli i twierdzili ze jakiegoś wirusa robie :D

- Rejestracja:około 12 lat
- Ostatnio:około 15 godzin
- Lokalizacja:Wrocław
- Postów:399
https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms683197(v=vs.85).aspx
"hModule [in, optional]
A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process."