![]() |
PC über Netzwerk starten
Hi
Gib es eine Möglichkeit einen PC über Netzwerk in den Standbymodus zu bringen und bei bedarf den Rechner über Netz auch wieder zu starten?? Gruß CelinaW |
Re: PC über Netzwerk starten
Hi!
Falls du es nicht selbst machen willst: Es gibt ein Programm, das heißt EasyReboot, ich glaube, das kann das... Ciao fkerber |
Re: PC über Netzwerk starten
ich weis es nicht genau aber ich denke nicht dass das klappt. aber da musste jemand anderes fragen hab da keine Ahnung ;-)
|
Re: PC über Netzwerk starten
|
Re: PC über Netzwerk starten
Hi@all
Ihr seit aber schnell heute :thuimb: Werde mir eure Tips mal ansehen. Ihr hört von mir. Erst mal Danke!!! Gruß CelinaW |
Re: PC über Netzwerk starten
Hi Kiar
Wiso kann ich die Zip von assarbad nicht öffnen? Hast du ne Idee :gruebel: |
Re: PC über Netzwerk starten
Habs schon geöffnet bekommen!!!
Mal sehen ............................ |
Re: PC über Netzwerk starten
Zitat:
![]() |
Re: PC über Netzwerk starten
Hi nochmal....
Mh..., mit dem Programm von Assarbad kann man den PC neu starten oder herunterfahren. Aber wie sieht es aus mit Standby und wie kann man den PC aus dem Standby wieder starten? |
Re: PC über Netzwerk starten
|
Re: PC über Netzwerk starten
Hi Phoenix
Ja, ich denke das ist es was ich dafür brauche. Aber jetzt kommt mein Problem! Wie wende ich den Code an :gruebel: Ich bin leider noch nicht so Fit in Delphi :oops: Kannst du mir da ein paar Tips oder ein Beispiel geben :gruebel: Wäre echt super Lieb von dir! Gruß CelinaW |
Re: PC über Netzwerk starten
Du suchst erstmal die Indy-Komponenten und installierst die.
Danach packst Du den Code aus dem Post in eine eigene Datei und nennst diese z.B. WakeOnLan.pas. In deinem Programm (z.B. normale Form) schreibst Du oben in die Uses-Klausel dann WakeOnLan mit rein, und im Code schreibst Du dann irgendwo (z.B. in einer ButtonClick - Methode)
Code:
Wobei AABBCCDDEEFF dann halt für die MAC-Adresse des aufzuweckenden Rechners steht.
WakeUPComputer('AABBCCDDEEFF');
Das wars dann schon. |
Re: PC über Netzwerk starten
WakeUPComputer('00023F7F710E'); // 00-02-3F-7F-71-0E
Die physikalische Adresse (MAC) wird zum Beispiel angezeigt, wenn Du unter Windows XP in einer Konsole 'ipconfig -all' eingibst. |
Re: PC über Netzwerk starten
WoW :thuimb: :thuimb: :thuimb:
Ihr seit echt Super. Ich versuche mal ob ich das hin bekomme. Ansonstan frage ich halt nochmal nach! Vielen Vielen Vielen Dank! Wenn das klappt habt ihr mir echt sehr geholfen! Gruß CelinaW |
Re: PC über Netzwerk starten
Mh...... Irgendwie klappt das bei mir nicht! Indys sind Installiert. Ich bekomme die Fehlermeldung "Interface" erwartet aber "Uses" gefunden.
Kann mir da mal jemand ein Beispiel coden :gruebel: :oops: :oops: :oops: Gruß Celina |
Re: PC über Netzwerk starten
Hi....
Kann sich mal jemand diese ![]() Ich bekomme immer unzählige Fehlermeldungen. :wall: :wall: Kann da jemand vielleicht mal ein Beispiel von erstellen. :gruebel: :oops: :oops: Vielen Dank |
Re: PC über Netzwerk starten
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
das muss noch hin
unit wakeonlan
interface uses ausser den uses raik |
Re: PC über Netzwerk starten
Hi@all
Habe das Problem leider immer noch nicht in griff bekommen. :wall: Kann mir aus dem Code mal jemand ein laufendes Beispiel zaubern? Gruß Celina |
Re: PC über Netzwerk starten
Also hier mal der Code:
Unit1:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses WakeOnLan; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin wakeonlan('000C76719CEA'); end; end. WakeOnLan:
Delphi-Quellcode:
unit WakeOnLan;
interface uses WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; Function HexToInt(S:String): LongInt; const DecDigits: Set Of '0'..'9' = ['0'..'9']; HexVals: Array [0..$F] Of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $E, $F); UpCaseHexLetters: Set Of 'A'..'F' = ['A'..'F']; LowCaseHexLetters: Set Of 'a'..'f' = ['a'..'f']; var v: LongInt; i: integer; LookUpIndex: integer; begin if length(S) <= 8 then begin v := 0; for i := 1 to length(S) do begin {$R-} v := v Shl 4; {$R+} if S[i] in DecDigits then begin LookUpIndex := Ord(S[i]) - Ord('0'); end else begin if S[i] in UpCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('A') + $A; end else begin if S[i] in LowCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('a') + $A; end else begin LookUpIndex := 0; end; end; end; v := v Or HexVals[LookUpIndex]; end; result := v; end else begin result := 0; end; end; procedure WakeUPComputer(aMacAddress: string); var i, j: Byte; lBuffer: array[1..116] of Byte; lUDPClient: TIUDPClient; begin try for i := 1 to 6 do begin lBuffer[i] := HexToInt(aMacAddress[(i * 2) - 1] + aMacAddress[i * 2]); end; lBuffer[7] := $00; lBuffer[8] := $74; lBuffer[9] := $FF; lBuffer[10] := $FF; lBuffer[11] := $FF; lBuffer[12] := $FF; lBuffer[13] := $FF; lBuffer[14] := $FF; for j := 1 to 16 do begin for i := 1 to 6 do begin lBuffer[15 + (j - 1) * 6 + (i - 1)] := lBuffer[i]; end; end; lBuffer[116] := $00; lBuffer[115] := $40; lBuffer[114] := $90; lBuffer[113] := $90; lBuffer[112] := $00; lBuffer[111] := $40; try lUDPClient := TIdUDPClient.Create(nil); lUDPClient.BroadcastEnabled := true; lUDPClient.Host := '255.255.255.255'; lUDPClient.Port := 2050; lUDPClient.SendBuffer(lBuffer, 116); writeln('Trying to wake-up remote host: ' + aMacAddress); finally lUDPClient.Free; end; except on E: Exception do writeln('There was an error'); end; end; Und hier die Fehlermeldungen: Erzeugen [Fehler] WakeOnLan.pas(21): Anweisungen sind im Interface-Teil nicht erlaubt [Fehler] WakeOnLan.pas(22): Undefinierter Bezeichner: 'S' [Fehler] WakeOnLan.pas(24): Inkompatible Typen [Fehler] WakeOnLan.pas(46): Undefinierter Bezeichner: 'result' [Fehler] WakeOnLan.pas(55): Bezeichner redefiniert: 'i' [Fehler] WakeOnLan.pas(57): Undefinierter Bezeichner: 'TIUDPClient' [Fehler] WakeOnLan.pas(58): Anweisungen sind im Interface-Teil nicht erlaubt [Fehler] WakeOnLan.pas(61): Undefinierter Bezeichner: 'aMacAddress' [Fehler] WakeOnLan.pas(62): Inkompatible Typen: 'String' und 'Integer' [Fehler] WakeOnLan.pas(85): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(86): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(87): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(88): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(91): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(98): Deklaration erwartet, aber Dateiende gefunden [Fehler] WakeOnLan.pas(10): Ungenügende Forward- oder External-Deklaration: 'HexToInt' [Fehler] WakeOnLan.pas(53): Ungenügende Forward- oder External-Deklaration: 'WakeUPComputer' [Fataler Fehler] Unit1.pas(24): Verwendete Unit '..\..\..\..\..\..\Wolf\Programme\Borland\Delphi7\ Projects\Wakeup\WakeOnLan.pas' kann nicht compiliert werden Wer kann mir Helfen :gruebel: :gruebel: Gruß SelinaW |
Re: PC über Netzwerk starten
Code:
Und dann sehen wir mal weiter. Aber wenn du noch nicht mal weißt, wie eine Delphi Unit aufgebaut ist, solltest du eventuell mit ein paar Grundlagen anfangen.
interface
uses WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; [b]implementation[/b] Function HexToInt(S:String): LongInt; const DecDigits: Set Of '0'..'9' = ['0'..'9']; |
Re: PC über Netzwerk starten
Code:
[color=red]unit[/color] WakeOnLan;
[color=red]interface[/color] [color=red]uses[/color] WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; // Deklarieren procedure WakeUPComputer(aMacAddress: string); [color=red]implementation[/color] // Implementieren Function HexToInt(S:String): LongInt; const //[snip] |
Re: PC über Netzwerk starten
luckie hat recht
implementation fehlt, habe ich vorhin übersehen :oops: raik aufruf dann natürlich
Delphi-Quellcode:
procedure TForm1.Button1click(sender :TObject);
begin wakeupComputer('Deine mac'); end; |
Re: PC über Netzwerk starten
Hi@all
Impementation habe ich jetzt drin... aber es funzt immer noch nicht :gruebel: @Luckie Zitat:
Bin erst seit sechs Monaten mit Delphi am proggen :coder: Hin und wieder merkt man das halt auch mal :angle: Nicht böse sein.... Jeder hat mal klein angefangen. |
Re: PC über Netzwerk starten
Zitat:
|
Re: PC über Netzwerk starten
welche fehlermeldungen?
|
Re: PC über Netzwerk starten
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
Sorry ...............
Delphi-Quellcode:
unit WakeOnLan;
interface uses WinTypes, Messages, SysUtils, Classes, IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient; implementation Function HexToInt(S:String): LongInt; const DecDigits: Set Of '0'..'9' = ['0'..'9']; HexVals: Array [0..$F] Of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, $A, $B, $C, $D, $E, $F); UpCaseHexLetters: Set Of 'A'..'F' = ['A'..'F']; LowCaseHexLetters: Set Of 'a'..'f' = ['a'..'f']; var v: LongInt; i: integer; LookUpIndex: integer; begin if length(S) <= 8 then begin v := 0; for i := 1 to length(S) do begin {$R-} v := v Shl 4; {$R+} if S[i] in DecDigits then begin LookUpIndex := Ord(S[i]) - Ord('0'); end else begin if S[i] in UpCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('A') + $A; end else begin if S[i] in LowCaseHexLetters then begin LookUpIndex := Ord(S[i]) - Ord('a') + $A; end else begin LookUpIndex := 0; end; end; end; v := v Or HexVals[LookUpIndex]; end; result := v; end else begin result := 0; end; end; procedure WakeUPComputer(aMacAddress: string); var i, j: Byte; lBuffer: array[1..116] of Byte; lUDPClient: TIUDPClient; begin try for i := 1 to 6 do begin lBuffer[i] := HexToInt(aMacAddress[(i * 2) - 1] + aMacAddress[i * 2]); end; lBuffer[7] := $00; lBuffer[8] := $74; lBuffer[9] := $FF; lBuffer[10] := $FF; lBuffer[11] := $FF; lBuffer[12] := $FF; lBuffer[13] := $FF; lBuffer[14] := $FF; for j := 1 to 16 do begin for i := 1 to 6 do begin lBuffer[15 + (j - 1) * 6 + (i - 1)] := lBuffer[i]; end; end; lBuffer[116] := $00; lBuffer[115] := $40; lBuffer[114] := $90; lBuffer[113] := $90; lBuffer[112] := $00; lBuffer[111] := $40; try lUDPClient := TIdUDPClient.Create(nil); lUDPClient.BroadcastEnabled := true; lUDPClient.Host := '255.255.255.255'; lUDPClient.Port := 2050; lUDPClient.SendBuffer(lBuffer, 116); writeln('Trying to wake-up remote host: ' + aMacAddress); finally lUDPClient.Free; end; except on E: Exception do writeln('There was an error'); end; end; Fehler: Erzeugen [Fehler] WakeOnLan.pas(61): Undefinierter Bezeichner: 'TIUDPClient' [Fehler] WakeOnLan.pas(89): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(90): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(91): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(92): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(95): Operator oder Semikolon fehlt [Fehler] WakeOnLan.pas(101): Deklaration erwartet, aber Dateiende gefunden [Fataler Fehler] Unit1.pas(24): Verwendete Unit 'WakeOnLan.pas' kann nicht compiliert werden |
Re: PC über Netzwerk starten
Hast du auch die Indy's installiert? Die sind Vorraussetzung damit der Code funktioniert.
|
Re: PC über Netzwerk starten
Du hast vergessen die Funktion WakeUpComputer beaknnt zu machen (im Interface-Bereich deklarieren, s.o.).
|
Re: PC über Netzwerk starten
@nicoDE,
würde es nicht reichen procedure und funktion zu tauschen? @celina nach den Uses
Delphi-Quellcode:
procedure WakeupComputer(aMacadress:String);
|
Re: PC über Netzwerk starten
:gruebel:
Zitat:
@Luckie Ja, die Indy´s sind Installiert bzw. ich habe Delphi 7 Professional. Da sind die ja schon bei! |
Re: PC über Netzwerk starten
Wenn das alles ist, muss da gar nichte bekannt gemacht werden. HexToInt nutzt WakeUPComputer nicht. Und ihn WakeUPComputer muss nur HexToInt bejkannt sein und das ist es, da der Code davor steht.
|
Re: PC über Netzwerk starten
@luckie,
aber dann würde er ja nicht die fehlermeldung bringen end erwartet aber deklaration gefunden. wakeupComputer nutzt ja hextoint. raik |
Re: PC über Netzwerk starten
LOL:
Code:
Da fehlte ein Buchstabe. :roll:
lUDPClient: TI[b]d[/b]UDPClient;
|
Re: PC über Netzwerk starten
Zitat:
|
Re: PC über Netzwerk starten
sorry ,mein fehler
ist ja auch schon spät-> früh :? raik |
Re: PC über Netzwerk starten
:P :P
@Luckie :thuimb: :thuimb: Gute Auge!! :wink: So... mal testen.... melde mich gleich! :thuimb: :thuimb: |
Re: PC über Netzwerk starten
:witch: :witch: :witch: :witch: :witch: :witch: :witch:
Ihr seit klasse !!!!!! Vielen Vielen Dank für eure Gedult! :hello: Werde das jetzt mal in ruhe testen. Muss noch bis 6 arbeiten!! Ihr hört nochmal von mir! Also erst einmal Danke für eure TOLLE unterstüzung. :cheers: :cheers: :cheers: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz