<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fehler mit Sockeln]]></title><description><![CDATA[<p>Ich habe hier ein Programm(also eine Vorabversion), dass den PC ausschalten soll,wenn es etwas über dne Port 12345 emfängt. Unter Vista lässt sich das Programm kompilieren und ausführen. Wenn es die Daten emfängt geht das Programm aus nicht jedoch der PC(Das ist das 1. Problem).<br />
Dann habe ich das ganze unter XP(da soll es später laufen) probiert.<br />
Die .exe funktionier tnicht und emfielt das Programm neu zu installieren.<br />
Wenn ich jetzt den Quelltext auf XP neu kompilieren will klappt es nichtmehr und ich bekomme massig Fehler(Das ist das Hauptproblem). Ich hoffe sehr mir kann da jemand helfen.</p>
<p>Der Quelltext</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;winsock2.h&gt;

#include &lt;stdio.h&gt;

 long rc;

  SOCKET acceptSocket;
  int Temp;
  SOCKADDR_IN addr;
  HWND handle;
SOCKET connectedSocket;
char buf[256];
int startWinsock(void);

int main()

{
 handle=GetConsoleWindow();
 ShowWindow(handle,SW_HIDE);
  rc=startWinsock();

  acceptSocket=socket(AF_INET,SOCK_STREAM,0);

  memset(&amp;addr,0,sizeof(SOCKADDR_IN));

addr.sin_family=AF_INET;

addr.sin_port=htons(12345);

addr.sin_addr.s_addr=ADDR_ANY;

rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));

rc=listen(acceptSocket,10);
connectedSocket=accept(acceptSocket,NULL,NULL);

if(connectedSocket==INVALID_SOCKET)

{

  printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());

  return 1;

}

else

{

  printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);

}
recv(connectedSocket,buf,256,0);

	ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);

return 0;
}

int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Hier die Fehler unter XP:</p>
<blockquote>
<p>Kompilieren...<br />
main.cpp<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(460): Siehe vorherige Definition von 'AF_IPX'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(127) : warning C4005: 'AF_MAX': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(479): Siehe vorherige Definition von 'AF_MAX'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(163) : warning C4005: 'SO_DONTLINGER': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(402): Siehe vorherige Definition von 'SO_DONTLINGER'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(206) : error C2011: 'sockaddr': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(485): Siehe Deklaration von 'sockaddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: Syntaxfehler: Es fehlt '}' vor 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2059: Syntaxfehler: 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(518) : warning C4005: 'IN_CLASSA': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(287): Siehe vorherige Definition von 'IN_CLASSA'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(524) : warning C4005: 'IN_CLASSB': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(293): Siehe vorherige Definition von 'IN_CLASSB'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(530) : warning C4005: 'IN_CLASSC': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(299): Siehe vorherige Definition von 'IN_CLASSC'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(541) : warning C4005: 'INADDR_ANY': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(304): Siehe vorherige Definition von 'INADDR_ANY'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(543) : warning C4005: 'INADDR_BROADCAST': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(306): Siehe vorherige Definition von 'INADDR_BROADCAST'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(577) : error C2011: 'sockaddr_in': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(312): Siehe Deklaration von 'sockaddr_in'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(132) : error C2011: 'fd_set': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(68): Siehe Deklaration von 'fd_set'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(167) : warning C4005: 'FD_SET': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(102): Siehe vorherige Definition von 'FD_SET'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(176) : error C2011: 'timeval': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(111): Siehe Deklaration von 'timeval'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(232) : error C2011: 'hostent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(167): Siehe Deklaration von 'hostent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(245) : error C2011: 'netent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(180): Siehe Deklaration von 'netent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(252) : error C2011: 'servent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(187): Siehe Deklaration von 'servent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(264) : error C2011: 'protoent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(199): Siehe Deklaration von 'protoent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(360) : error C2011: 'WSAData': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(322): Siehe Deklaration von 'WSAData'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(458) : error C2011: 'sockproto': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(494): Siehe Deklaration von 'sockproto'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(500) : error C2011: 'linger': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(531): Siehe Deklaration von 'linger'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(513) : warning C4005: 'SOMAXCONN': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(544): Siehe vorherige Definition von 'SOMAXCONN'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(542) : warning C4005: 'FD_READ': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(562): Siehe vorherige Definition von 'FD_READ'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(545) : warning C4005: 'FD_WRITE': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(563): Siehe vorherige Definition von 'FD_WRITE'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(548) : warning C4005: 'FD_OOB': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(564): Siehe vorherige Definition von 'FD_OOB'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(551) : warning C4005: 'FD_ACCEPT': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(565): Siehe vorherige Definition von 'FD_ACCEPT'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(554) : warning C4005: 'FD_CONNECT': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(566): Siehe vorherige Definition von 'FD_CONNECT'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(557) : warning C4005: 'FD_CLOSE': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(567): Siehe vorherige Definition von 'FD_CLOSE'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1527) : error C2375: 'accept': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(735): Siehe Deklaration von 'accept'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1548) : error C2375: 'bind': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(740): Siehe Deklaration von 'bind'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1567) : error C2375: 'closesocket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(745): Siehe Deklaration von 'closesocket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1586) : error C2375: 'connect': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(747): Siehe Deklaration von 'connect'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1607) : error C2375: 'ioctlsocket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(752): Siehe Deklaration von 'ioctlsocket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1628) : error C2375: 'getpeername': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(757): Siehe Deklaration von 'getpeername'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1649) : error C2375: 'getsockname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(762): Siehe Deklaration von 'getsockname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1672) : error C2375: 'getsockopt': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(767): Siehe Deklaration von 'getsockopt'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1693) : error C2375: 'htonl': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(774): Siehe Deklaration von 'htonl'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1710) : error C2375: 'htons': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(776): Siehe Deklaration von 'htons'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1728) : error C2375: 'inet_addr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(778): Siehe Deklaration von 'inet_addr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1745) : error C2375: 'inet_ntoa': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(780): Siehe Deklaration von 'inet_ntoa'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1763) : error C2375: 'listen': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(782): Siehe Deklaration von 'listen'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1781) : error C2375: 'ntohl': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(786): Siehe Deklaration von 'ntohl'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1798) : error C2375: 'ntohs': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(788): Siehe Deklaration von 'ntohs'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1818) : error C2375: 'recv': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(790): Siehe Deklaration von 'recv'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1843) : error C2375: 'recvfrom': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(796): Siehe Deklaration von 'recvfrom'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1869) : error C2375: 'select': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(804): Siehe Deklaration von 'select'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1893) : error C2375: 'send': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(811): Siehe Deklaration von 'send'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1918) : error C2375: 'sendto': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(817): Siehe Deklaration von 'sendto'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1944) : error C2375: 'setsockopt': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(825): Siehe Deklaration von 'setsockopt'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1966) : error C2375: 'shutdown': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(832): Siehe Deklaration von 'shutdown'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1986) : error C2375: 'socket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(836): Siehe Deklaration von 'socket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2009) : error C2375: 'gethostbyaddr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(843): Siehe Deklaration von 'gethostbyaddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2029) : error C2375: 'gethostbyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(848): Siehe Deklaration von 'gethostbyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2047) : error C2375: 'gethostname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(850): Siehe Deklaration von 'gethostname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2067) : error C2375: 'getservbyport': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(854): Siehe Deklaration von 'getservbyport'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2087) : error C2375: 'getservbyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(858): Siehe Deklaration von 'getservbyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2106) : error C2375: 'getprotobynumber': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(862): Siehe Deklaration von 'getprotobynumber'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2124) : error C2375: 'getprotobyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(864): Siehe Deklaration von 'getprotobyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2145) : error C2375: 'WSAStartup': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(868): Siehe Deklaration von 'WSAStartup'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2163) : error C2375: 'WSACleanup': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(872): Siehe Deklaration von 'WSACleanup'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2180) : error C2375: 'WSASetLastError': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(874): Siehe Deklaration von 'WSASetLastError'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2197) : error C2375: 'WSAGetLastError': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(876): Siehe Deklaration von 'WSAGetLastError'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2214) : error C2375: 'WSAIsBlocking': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(878): Siehe Deklaration von 'WSAIsBlocking'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2231) : error C2375: 'WSAUnhookBlockingHook': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(880): Siehe Deklaration von 'WSAUnhookBlockingHook'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2248) : error C2375: 'WSASetBlockingHook': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(882): Siehe Deklaration von 'WSASetBlockingHook'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2265) : error C2375: 'WSACancelBlockingCall': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(884): Siehe Deklaration von 'WSACancelBlockingCall'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2287) : error C2375: 'WSAAsyncGetServByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(886): Siehe Deklaration von 'WSAAsyncGetServByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2314) : error C2375: 'WSAAsyncGetServByPort': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(894): Siehe Deklaration von 'WSAAsyncGetServByPort'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2340) : error C2375: 'WSAAsyncGetProtoByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(902): Siehe Deklaration von 'WSAAsyncGetProtoByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2365) : error C2375: 'WSAAsyncGetProtoByNumber': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(909): Siehe Deklaration von 'WSAAsyncGetProtoByNumber'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2390) : error C2375: 'WSAAsyncGetHostByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(916): Siehe Deklaration von 'WSAAsyncGetHostByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2417) : error C2375: 'WSAAsyncGetHostByAddr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(923): Siehe Deklaration von 'WSAAsyncGetHostByAddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2440) : error C2375: 'WSACancelAsyncRequest': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(932): Siehe Deklaration von 'WSACancelAsyncRequest'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2461) : error C2375: 'WSAAsyncSelect': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(934): Siehe Deklaration von 'WSAAsyncSelect'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2059: Syntaxfehler: '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2059: Syntaxfehler: '}'<br />
.\main.cpp(12) : error C2079: 'addr' verwendet undefiniertes struct 'sockaddr_in'<br />
.\main.cpp(26) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(29) : error C2440: '=': 'SOCKET (__stdcall *)(int,int,int)' kann nicht in 'SOCKET' konvertiert werden<br />
.\main.cpp(29) : error C2440: '=': 'SOCKET (__stdcall *)(int,int,int)' kann nicht in 'SOCKET' konvertiert werden<br />
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist<br />
.\main.cpp(29) : error C3861: &quot;socket&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(33) : error C2228: Links von &quot;.sin_family&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(35) : error C2228: Links von &quot;.sin_port&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(35) : error C3861: &quot;htons&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(37) : error C2228: Links von &quot;.sin_addr&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(37) : error C2228: Links von &quot;.S_un&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
.\main.cpp(37) : error C2228: Links von &quot;.S_addr&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
.\main.cpp(39) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(39) : error C3861: &quot;bind&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(41) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(41) : error C3861: &quot;listen&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(42) : error C2440: '=': 'SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)' kann nicht in 'SOCKET' konvertiert werden<br />
.\main.cpp(42) : error C2440: '=': 'SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)' kann nicht in 'SOCKET' konvertiert werden<br />
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist<br />
.\main.cpp(42) : error C3861: &quot;accept&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(48) : error C3861: &quot;WSAGetLastError&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(61) : error C3861: &quot;recv&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(77) : error C2079: 'wsa' verwendet undefiniertes struct 'WSAData'<br />
.\main.cpp(79) : error C3861: &quot;WSAStartup&quot;: Bezeichner wurde nicht gefunden.</p>
</blockquote>
<p>Ich hoffe jemand kann mir da helfen. Ich habe wirklich keine Ahnung wo das herkommt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Edit: Mir fällt grade auf ich habe die Sockel nciht freigegeben. Das wird genauso, wie viele Fehlerabfragen noch eingebaut(nur falls wer meckert). Das Problem behebt es aber wohl nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220544/fehler-mit-sockeln</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 14:00:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220544.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Aug 2008 20:42:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 20:42:32 GMT]]></title><description><![CDATA[<p>Ich habe hier ein Programm(also eine Vorabversion), dass den PC ausschalten soll,wenn es etwas über dne Port 12345 emfängt. Unter Vista lässt sich das Programm kompilieren und ausführen. Wenn es die Daten emfängt geht das Programm aus nicht jedoch der PC(Das ist das 1. Problem).<br />
Dann habe ich das ganze unter XP(da soll es später laufen) probiert.<br />
Die .exe funktionier tnicht und emfielt das Programm neu zu installieren.<br />
Wenn ich jetzt den Quelltext auf XP neu kompilieren will klappt es nichtmehr und ich bekomme massig Fehler(Das ist das Hauptproblem). Ich hoffe sehr mir kann da jemand helfen.</p>
<p>Der Quelltext</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;
#include &lt;winsock2.h&gt;

#include &lt;stdio.h&gt;

 long rc;

  SOCKET acceptSocket;
  int Temp;
  SOCKADDR_IN addr;
  HWND handle;
SOCKET connectedSocket;
char buf[256];
int startWinsock(void);

int main()

{
 handle=GetConsoleWindow();
 ShowWindow(handle,SW_HIDE);
  rc=startWinsock();

  acceptSocket=socket(AF_INET,SOCK_STREAM,0);

  memset(&amp;addr,0,sizeof(SOCKADDR_IN));

addr.sin_family=AF_INET;

addr.sin_port=htons(12345);

addr.sin_addr.s_addr=ADDR_ANY;

rc=bind(acceptSocket,(SOCKADDR*)&amp;addr,sizeof(SOCKADDR_IN));

rc=listen(acceptSocket,10);
connectedSocket=accept(acceptSocket,NULL,NULL);

if(connectedSocket==INVALID_SOCKET)

{

  printf(&quot;Fehler: accept, fehler code: %d\n&quot;,WSAGetLastError());

  return 1;

}

else

{

  printf(&quot;Neue Verbindung wurde akzeptiert!\n&quot;);

}
recv(connectedSocket,buf,256,0);

	ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);

return 0;
}

int startWinsock(void)

{

  WSADATA wsa;

  return WSAStartup(MAKEWORD(2,0),&amp;wsa);
}
</code></pre>
<p>Hier die Fehler unter XP:</p>
<blockquote>
<p>Kompilieren...<br />
main.cpp<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(460): Siehe vorherige Definition von 'AF_IPX'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(127) : warning C4005: 'AF_MAX': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(479): Siehe vorherige Definition von 'AF_MAX'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(163) : warning C4005: 'SO_DONTLINGER': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(402): Siehe vorherige Definition von 'SO_DONTLINGER'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(206) : error C2011: 'sockaddr': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(485): Siehe Deklaration von 'sockaddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: Syntaxfehler: Es fehlt '}' vor 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2059: Syntaxfehler: 'Konstante'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: &quot;default-int&quot; wird von C++ nicht unterstützt.<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(518) : warning C4005: 'IN_CLASSA': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(287): Siehe vorherige Definition von 'IN_CLASSA'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(524) : warning C4005: 'IN_CLASSB': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(293): Siehe vorherige Definition von 'IN_CLASSB'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(530) : warning C4005: 'IN_CLASSC': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(299): Siehe vorherige Definition von 'IN_CLASSC'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(541) : warning C4005: 'INADDR_ANY': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(304): Siehe vorherige Definition von 'INADDR_ANY'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(543) : warning C4005: 'INADDR_BROADCAST': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(306): Siehe vorherige Definition von 'INADDR_BROADCAST'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(577) : error C2011: 'sockaddr_in': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(312): Siehe Deklaration von 'sockaddr_in'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(132) : error C2011: 'fd_set': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(68): Siehe Deklaration von 'fd_set'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(167) : warning C4005: 'FD_SET': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(102): Siehe vorherige Definition von 'FD_SET'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(176) : error C2011: 'timeval': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(111): Siehe Deklaration von 'timeval'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(232) : error C2011: 'hostent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(167): Siehe Deklaration von 'hostent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(245) : error C2011: 'netent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(180): Siehe Deklaration von 'netent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(252) : error C2011: 'servent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(187): Siehe Deklaration von 'servent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(264) : error C2011: 'protoent': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(199): Siehe Deklaration von 'protoent'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(360) : error C2011: 'WSAData': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(322): Siehe Deklaration von 'WSAData'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(458) : error C2011: 'sockproto': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(494): Siehe Deklaration von 'sockproto'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(500) : error C2011: 'linger': 'struct' Typneudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(531): Siehe Deklaration von 'linger'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(513) : warning C4005: 'SOMAXCONN': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(544): Siehe vorherige Definition von 'SOMAXCONN'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(542) : warning C4005: 'FD_READ': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(562): Siehe vorherige Definition von 'FD_READ'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(545) : warning C4005: 'FD_WRITE': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(563): Siehe vorherige Definition von 'FD_WRITE'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(548) : warning C4005: 'FD_OOB': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(564): Siehe vorherige Definition von 'FD_OOB'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(551) : warning C4005: 'FD_ACCEPT': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(565): Siehe vorherige Definition von 'FD_ACCEPT'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(554) : warning C4005: 'FD_CONNECT': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(566): Siehe vorherige Definition von 'FD_CONNECT'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(557) : warning C4005: 'FD_CLOSE': Makro-Neudefinition<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(567): Siehe vorherige Definition von 'FD_CLOSE'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1527) : error C2375: 'accept': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(735): Siehe Deklaration von 'accept'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1548) : error C2375: 'bind': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(740): Siehe Deklaration von 'bind'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1567) : error C2375: 'closesocket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(745): Siehe Deklaration von 'closesocket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1586) : error C2375: 'connect': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(747): Siehe Deklaration von 'connect'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1607) : error C2375: 'ioctlsocket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(752): Siehe Deklaration von 'ioctlsocket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1628) : error C2375: 'getpeername': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(757): Siehe Deklaration von 'getpeername'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1649) : error C2375: 'getsockname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(762): Siehe Deklaration von 'getsockname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1672) : error C2375: 'getsockopt': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(767): Siehe Deklaration von 'getsockopt'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1693) : error C2375: 'htonl': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(774): Siehe Deklaration von 'htonl'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1710) : error C2375: 'htons': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(776): Siehe Deklaration von 'htons'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1728) : error C2375: 'inet_addr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(778): Siehe Deklaration von 'inet_addr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1745) : error C2375: 'inet_ntoa': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(780): Siehe Deklaration von 'inet_ntoa'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1763) : error C2375: 'listen': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(782): Siehe Deklaration von 'listen'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1781) : error C2375: 'ntohl': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(786): Siehe Deklaration von 'ntohl'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1798) : error C2375: 'ntohs': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(788): Siehe Deklaration von 'ntohs'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1818) : error C2375: 'recv': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(790): Siehe Deklaration von 'recv'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1843) : error C2375: 'recvfrom': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(796): Siehe Deklaration von 'recvfrom'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1869) : error C2375: 'select': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(804): Siehe Deklaration von 'select'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1893) : error C2375: 'send': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(811): Siehe Deklaration von 'send'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1918) : error C2375: 'sendto': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(817): Siehe Deklaration von 'sendto'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1944) : error C2375: 'setsockopt': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(825): Siehe Deklaration von 'setsockopt'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1966) : error C2375: 'shutdown': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(832): Siehe Deklaration von 'shutdown'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(1986) : error C2375: 'socket': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(836): Siehe Deklaration von 'socket'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2009) : error C2375: 'gethostbyaddr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(843): Siehe Deklaration von 'gethostbyaddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2029) : error C2375: 'gethostbyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(848): Siehe Deklaration von 'gethostbyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2047) : error C2375: 'gethostname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(850): Siehe Deklaration von 'gethostname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2067) : error C2375: 'getservbyport': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(854): Siehe Deklaration von 'getservbyport'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2087) : error C2375: 'getservbyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(858): Siehe Deklaration von 'getservbyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2106) : error C2375: 'getprotobynumber': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(862): Siehe Deklaration von 'getprotobynumber'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2124) : error C2375: 'getprotobyname': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(864): Siehe Deklaration von 'getprotobyname'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2145) : error C2375: 'WSAStartup': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(868): Siehe Deklaration von 'WSAStartup'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2163) : error C2375: 'WSACleanup': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(872): Siehe Deklaration von 'WSACleanup'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2180) : error C2375: 'WSASetLastError': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(874): Siehe Deklaration von 'WSASetLastError'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2197) : error C2375: 'WSAGetLastError': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(876): Siehe Deklaration von 'WSAGetLastError'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2214) : error C2375: 'WSAIsBlocking': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(878): Siehe Deklaration von 'WSAIsBlocking'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2231) : error C2375: 'WSAUnhookBlockingHook': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(880): Siehe Deklaration von 'WSAUnhookBlockingHook'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2248) : error C2375: 'WSASetBlockingHook': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(882): Siehe Deklaration von 'WSASetBlockingHook'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2265) : error C2375: 'WSACancelBlockingCall': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(884): Siehe Deklaration von 'WSACancelBlockingCall'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2287) : error C2375: 'WSAAsyncGetServByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(886): Siehe Deklaration von 'WSAAsyncGetServByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2314) : error C2375: 'WSAAsyncGetServByPort': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(894): Siehe Deklaration von 'WSAAsyncGetServByPort'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2340) : error C2375: 'WSAAsyncGetProtoByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(902): Siehe Deklaration von 'WSAAsyncGetProtoByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2365) : error C2375: 'WSAAsyncGetProtoByNumber': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(909): Siehe Deklaration von 'WSAAsyncGetProtoByNumber'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2390) : error C2375: 'WSAAsyncGetHostByName': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(916): Siehe Deklaration von 'WSAAsyncGetHostByName'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2417) : error C2375: 'WSAAsyncGetHostByAddr': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(923): Siehe Deklaration von 'WSAAsyncGetHostByAddr'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2440) : error C2375: 'WSACancelAsyncRequest': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(932): Siehe Deklaration von 'WSACancelAsyncRequest'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(2461) : error C2375: 'WSAAsyncSelect': Neudefinition; unterschiedliche Bindung<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock.h(934): Siehe Deklaration von 'WSAAsyncSelect'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2059: Syntaxfehler: '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2143: Syntaxfehler: Es fehlt ';' vor '}'<br />
C:\Programme\Microsoft SDKs\Windows\v6.0A\include\winsock2.h(3910) : error C2059: Syntaxfehler: '}'<br />
.\main.cpp(12) : error C2079: 'addr' verwendet undefiniertes struct 'sockaddr_in'<br />
.\main.cpp(26) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(29) : error C2440: '=': 'SOCKET (__stdcall *)(int,int,int)' kann nicht in 'SOCKET' konvertiert werden<br />
.\main.cpp(29) : error C2440: '=': 'SOCKET (__stdcall *)(int,int,int)' kann nicht in 'SOCKET' konvertiert werden<br />
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist<br />
.\main.cpp(29) : error C3861: &quot;socket&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(33) : error C2228: Links von &quot;.sin_family&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(35) : error C2228: Links von &quot;.sin_port&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(35) : error C3861: &quot;htons&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(37) : error C2228: Links von &quot;.sin_addr&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
Typ ist 'int'<br />
.\main.cpp(37) : error C2228: Links von &quot;.S_un&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
.\main.cpp(37) : error C2228: Links von &quot;.S_addr&quot; muss sich eine Klasse/Struktur/Union befinden.<br />
.\main.cpp(39) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(39) : error C3861: &quot;bind&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(41) : error C2065: 'rc': nichtdeklarierter Bezeichner<br />
.\main.cpp(41) : error C3861: &quot;listen&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(42) : error C2440: '=': 'SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)' kann nicht in 'SOCKET' konvertiert werden<br />
.\main.cpp(42) : error C2440: '=': 'SOCKET (__stdcall *)(SOCKET,sockaddr *,int *)' kann nicht in 'SOCKET' konvertiert werden<br />
Es gibt keinen Kontext, in dem diese Konvertierung möglich ist<br />
.\main.cpp(42) : error C3861: &quot;accept&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(48) : error C3861: &quot;WSAGetLastError&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(61) : error C3861: &quot;recv&quot;: Bezeichner wurde nicht gefunden.<br />
.\main.cpp(77) : error C2079: 'wsa' verwendet undefiniertes struct 'WSAData'<br />
.\main.cpp(79) : error C3861: &quot;WSAStartup&quot;: Bezeichner wurde nicht gefunden.</p>
</blockquote>
<p>Ich hoffe jemand kann mir da helfen. Ich habe wirklich keine Ahnung wo das herkommt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Edit: Mir fällt grade auf ich habe die Sockel nciht freigegeben. Das wird genauso, wie viele Fehlerabfragen noch eingebaut(nur falls wer meckert). Das Problem behebt es aber wohl nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566602</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 20:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 20:49:12 GMT]]></title><description><![CDATA[<p>Bevor es jemand fragt. Ich bin nicht EineFrage7<br />
Bin nur auf seinen Thread gestossen und fand das würde passen mit dem vertecken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566607</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 20:49:12 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 21:13:24 GMT]]></title><description><![CDATA[<p>Du musst die winsock.h vor der windows.h einbinden (eigentlich auch unter Vista).</p>
<blockquote>
<blockquote>
<p>Die .exe funktionier tnicht und emfielt das Programm neu zu installieren.<br />
Such mal hier im Forum nach &quot;vcredist&quot; oder sowas, du musst die Runtime mitliefern oder statisch linken.</p>
</blockquote>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1566616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566616</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:13:24 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 21:17:59 GMT]]></title><description><![CDATA[<p>Gut. Ich werde das mal ausrobieren. Also unter Vitsa läuft es!<br />
Ich werde es gleich mal ausprobieren</p>
<p>Das mit dem vcredist ist mir noch nicht ganz klar aber ich werde mal danach suchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566619</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:17:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 21:28:09 GMT]]></title><description><![CDATA[<p>Also das mit dem vcredist verstehe ich wirklich cniht...<br />
Habe hier den Link <a href="http://blog.kalmbachnet.de/?postid=80" rel="nofollow">http://blog.kalmbachnet.de/?postid=80</a> gefunden, aber das verstehe ich jetzt weirklich cniht. Also was speziell muss ich amchen/installieren, damit ich Programme auch auf anderen PCs nutzen kann? Vllt könnte jemand so eine Art kurze Step-by-Step Anleitung machen^^</p>
<p>Wäre wirklich sehr nett!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566623</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:28:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 21:36:45 GMT]]></title><description><![CDATA[<p>KomischerFehler schrieb:</p>
<blockquote>
<p>Also was speziell muss ich amchen/installieren, damit ich Programme auch auf anderen PCs nutzen kann?</p>
</blockquote>
<p>Falls du das Visual Studio bzw die Express-Version davon benutzt:<br />
- Entweder statisch linken, findest du glaubich in den Projekt-Optionen (Rechtsklick auf's Projekt-&gt;Optionen) im Punkt &quot;C/C++&quot; -&gt; &quot;Codegenerierung&quot;.</p>
<p>- Oder du lieferst die benötigten DLLs mit</p>
<p>- Oder es müssen an jedem PC, wo die DLLs fehlen, diese installiert werden (<a href="http://www.kharchi.eu/wiki/doku.php?id=cpp:faq#warum_funktioniert_meine_exe_auf_einem_anderen_pc_nicht" rel="nofollow">http://www.kharchi.eu/wiki/doku.php?id=cpp:faq#warum_funktioniert_meine_exe_auf_einem_anderen_pc_nicht</a>)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566627</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 21:54:36 GMT]]></title><description><![CDATA[<p>Vielen Dannk. Also das klappt alles. Programm läuft. Aber es fährt immernoch niht runter. Ich habe bis jetzt folgende Befehle ausprobiert:<br />
system(&quot;%systemroot%\System32\Shutdown.exe -s -f -t 0&quot;);<br />
ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);</p>
<p>Beide das selbe Ergebniss Programm geht aus(Rückgabewert 0)<br />
aber der Pc bleibt an. Noch jemand eine Idee???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566630</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 21:54:36 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 22:05:35 GMT]]></title><description><![CDATA[<p>Ich habe jetzt mit folgendem Quellcode versucht ob die Funktion allgemein geht. Auf 2 vershciedenen Rechner macht das heir auch nichts außer das Programm schließen:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;

int main()
{

	ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);
	return 0;

}
</code></pre>
<p>Weiß einer warum diese Funktionnciht läuft und hat eine Alternative/weiß wie man das Problem behebt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566633</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 22:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 22:25:30 GMT]]></title><description><![CDATA[<p>MSDN schrieb:</p>
<blockquote>
<p>To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1566643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566643</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 17 Aug 2008 22:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 22:30:02 GMT]]></title><description><![CDATA[<p>Und wie setze ich das speziell um?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566647</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 22:30:02 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 22:31:36 GMT]]></title><description><![CDATA[<p>Also bei disem beispiel, was müsste ich einfügen um das herunterfahren zu ermöglichen?</p>
<p>#include &lt;windows.h&gt;<br />
#include &lt;iostream&gt;</p>
<p>int main()<br />
{</p>
<p>ExitWindowsEx(EWX_POWEROFF|EWX_FORCE,0);<br />
return 0;</p>
<p>}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566648</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 22:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler mit Sockeln on Sun, 17 Aug 2008 22:36:30 GMT]]></title><description><![CDATA[<p>Ich habe über ExitWindoWEx das hier eingefügt.Bringt leider garnichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>HANDLE hToken; // handle to process token<br />
TOKEN_PRIVILEGES tkp; // pointer to token structure</p>
<p>BOOL fResult; // system shutdown flag</p>
<p>// Get the current process token handle so we can get shutdown<br />
// privilege.</p>
<p>if (!OpenProcessToken(GetCurrentProcess(),<br />
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &amp;hToken))<br />
ErrorHandler(&quot;OpenProcessToken failed.&quot;);</p>
<p>// Get the LUID for shutdown privilege.</p>
<p>LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,</p>
<p>&amp;tkp.Privileges[0].Luid);</p>
<p>tkp.PrivilegeCount = 1; // one privilege to set<br />
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;</p>
<p>// Get shutdown privilege for this process.</p>
<p>AdjustTokenPrivileges(hToken, FALSE, &amp;tkp, 0,<br />
(PTOKEN_PRIVILEGES) NULL, 0);</p>
<p>// Cannot test the return value of AdjustTokenPrivileges.</p>
<p>if (GetLastError() != ERROR_SUCCESS)<br />
ErrorHandler(&quot;AdjustTokenPrivileges enable failed.&quot;);</p>
<p>// Display the shutdown dialog box and start the time-out countdown.</p>
<p>fResult = InitiateSystemShutdown(<br />
NULL, // shut down local computer<br />
&quot;Click on the main window and press \<br />
the Escape key to cancel shutdown.&quot;, // message to user<br />
20, // time-out period<br />
FALSE, // ask user to close apps<br />
TRUE); // reboot after shutdown</p>
<p>if (!fResult)<br />
{<br />
ErrorHandler(&quot;InitiateSystemShutdown failed.&quot;);</p>
<p>}</p>
<p>// Disable shutdown privilege.</p>
<p>tkp.Privileges[0].Attributes = 0;<br />
AdjustTokenPrivileges(hToken, FALSE, &amp;tkp, 0,<br />
(PTOKEN_PRIVILEGES) NULL, 0);</p>
<p>if (GetLastError() != ERROR_SUCCESS)<br />
{<br />
ErrorHandler(&quot;AdjustTokenPrivileges disable failed.&quot;);<br />
}</p>
<p>If the AbortSystemShutdown function is executed in the time-out period specified by InitiateSystemShutdown, the system does not shut down. In this example, the user can prevent the system from shutting down by clicking on the application's main window and pressing the ESC key. The example processes the keystroke by calling AbortSystemShutdown.</p>
<p>HANDLE hToken; // handle to process token<br />
TOKEN_PRIVILEGES tkp; // pointer to token structure</p>
<p>BOOL fResult; // system shutdown flag</p>
<p>case WM_KEYDOWN:</p>
<p>// Process only the Escape key.</p>
<p>if (wParam != VK_ESCAPE)<br />
{<br />
break;<br />
}</p>
<p>// Get the current process token handle so we can get shutdown<br />
// privilege.</p>
<p>if (!OpenProcessToken(GetCurrentProcess(),<br />
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &amp;hToken))</p>
<p>{<br />
ErrorHandler(&quot;OpenProcessToken failed.&quot;);<br />
}</p>
<p>// Get the LUID for shutdown privilege.</p>
<p>LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,<br />
&amp;tkp.Privileges[0].Luid);</p>
<p>tkp.PrivilegeCount = 1; // one privilege to set<br />
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;</p>
<p>// Get shutdown privilege for this process.</p>
<p>AdjustTokenPrivileges(hToken, FALSE, &amp;tkp, 0,<br />
(PTOKEN_PRIVILEGES)NULL, 0);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1566651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1566651</guid><dc:creator><![CDATA[KomischerFehler]]></dc:creator><pubDate>Sun, 17 Aug 2008 22:36:30 GMT</pubDate></item></channel></rss>