Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[C++]Win32 Konsola Process Handle


Rekomendowane odpowiedzi

Opublikowano

Siema

 

Aktualnie mam problem z process handle jeśli ktoś może mi pomóc to chętnie poproszę o dobre rady.

Spam będzie zgłaszany do moderatora.

 

Dodam że to nie jest ówczesna dll'ka, która jak w folderze jest napisane d3d. Tylko i wyłącznie takim folderze się znajduję. Aczkolwiek to nie to co pierwszy rzut oka wam mówi.

 

"process.h"

 

[code#include <tlhelp32.h>



DWORD FindProcessId(const wstring& processName)
{
PROCESSENTRY32 processInfo;
processInfo.dwSize = sizeof(processInfo);


HANDLE processSnapshot = CreateToolhelp32Snapshot (TH32CS_SNAPPROCESS, NULL);
if (processSnapshot == INVALID_HANDLE_VALUE )
return 0;
Process32First (processSnapshot , &processInfo );
if ( !processName.compare ( processInfo.szExeFile ) )
{
CloseHandle ( processSnapshot );
return processInfo.th32ProcessID;
}

while ( Process32Next (processSnapshot , &processInfo ) )
{
if ( !processName.compare ( processInfo.szExeFile ) )
{
CloseHandle (processSnapshot );
return processInfo.th32ProcessID;
}
}

CloseHandle ( processSnapshot );
return 0;
}[/code]

Troszkę z Maina

int main()
{

	string processName;

cout << "Wpisz process tutaj: ";
cin >> processName;

DWORD processID = FindProcessId ( processName);

if ( processID == 0)
{
	cout << "Could not find " << processName.c_str() << endl;
}
else
{
	cout << "Process ID is " << processID << endl;
	system ( "pause" );
}

1>------ Build started: Project: c2, Configuration: Debug Win32 ------
1>Compiling...
1>c2.cpp
1>Linking...
1>c2.obj : error LNK2019: unresolved external symbol "unsigned long __cdecl FindProcessId(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?FindProcessId@@YAKABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function _main
1>C:\Users\Łukasz\Desktop\D3D9\c2\Debug\c2.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Users\Łukasz\Desktop\D3D9\c2\c2\Debug\BuildLog.htm"
1>c2 - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


 

@ Updated kolejny błąd

Opublikowano

chodzi ci o te literówki?

 

zgubiłeś P

TH32CS_SNAPROCESS

 

a tu s

processesSnapshot

 

Dzięki kolego niestety literówkę zapomniałem xD A nie patrzyłem aż tak dokładnie jak Ty,

 

Było jeszcze parę błędów, ale je poprawiłem a teraz szok.

1 Post @_@ Updated kolejny błąd.

 

 

Dodałem biblioteczki i teraz takie cosik xD

#include <psapi.h>

#using <mscorlib.dll> // <---- Tutaj wskazuje na "#us'

#using <System.dll>

 

1>------ Build started: Project: c2, Configuration: Debug Win32 ------
1>Compiling...
1>c2.cpp
1>c:\users\łukasz\desktop\d3d9\c2\c2\c2.h(8) : fatal error C1190: managed targeted code requires a '/clr' option
1>Build log was saved at "file://c:\Users\Łukasz\Desktop\D3D9\c2\c2\Debug\BuildLog.htm"
1>c2 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Opublikowano

Trzeba ustawić jakąś opcje /clr, co by to nie znaczyło, jest to coś w twoim środowisku.

Na msvc się nie znam, dlatego nie chcę powtarzać postów po innych.

 

http://social.msdn.m...5f-3630c7843179

 

Tam masz prawdopodobnie odpowiedź na to pytanie.

 

Zrobiłem to i parę innych sposobów ale nadal jest ten sam problem. Dam to na neutralny. Dam znać Xaulin jeśli chciałbyś mi pomóc to podaj mi na PW twoje gg/ts3/skype.

Opublikowano

Widzę - używasz Visual C++, wiec spróbuj taki trick:

Project>nazwaprojektu Properties(lub alt+F7)>Configuration Properties>Common Language Runtime Support>Wybierasz Opcję: Common Language Runtime Support (/clr).

  • Usługi webmasterskie (front & back)
  • Administracja systemami baz danych (SQL & noSQL)
  • Administracja serwerami Unix/BSD
  • Administracja & konfiguracja CMS (Wordpress itp)
  • Administracja & konfiguracja silników for (IPBoard / MyBB itp)

< Klik >

Opublikowano

Widzę - używasz Visual C++, wiec spróbuj taki trick:

Project>nazwaprojektu Properties(lub alt+F7)>Configuration Properties>Common Language Runtime Support>Wybierasz Opcję: Common Language Runtime Support (/clr).

 

Wynikł kolejny błąd:

1>------ Build started: Project: c2, Configuration: Debug Win32 ------
1>Compiling...
1>cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
1>cl : Command line error D8016 : '/MT' and '/clr' command-line options are incompatible
1>Build log was saved at "file://c:\Users\Łukasz\Desktop\D3D9\c2\c2\Debug\BuildLog.htm"
1>c2 - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Opublikowano

No to poszukaj opcji /MT (zapewne w w/w menu) i ją wyłącz LUB skonfiguruj projekt tak, by nie korzystał z szatańskich dobrodziestw "kodu zarządzanego" ( z których, w podanym fragmencie, i tak nie korzystasz ).

Ta sygnatura jest pusta.

Opublikowano

Project>nazwaprojektu Properties(lub alt+F7)>Configuration Properties>(rozwijasz tą listę)C/C++>Code Generation>Runtime Library.

 

Którą opcję masz tutaj zaznaczoną?

 

//Pewnie kombinujesz coś z Wielowątkowością?

Dla poprawnego działania & kompatybilności (przynajmniej w moim przypadku) zaznacz opcję: Multi-threaded Debug DLL (/MDd)

  • Usługi webmasterskie (front & back)
  • Administracja systemami baz danych (SQL & noSQL)
  • Administracja serwerami Unix/BSD
  • Administracja & konfiguracja CMS (Wordpress itp)
  • Administracja & konfiguracja silników for (IPBoard / MyBB itp)

< Klik >

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...