Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Den richtigen Computernamen ändern (https://www.delphipraxis.net/70421-den-richtigen-computernamen-aendern.html)

RWarnecke 30. Mai 2006 06:03


Den richtigen Computernamen ändern
 
Hallo,

ich möchte gerne den richtige Computernamen ändern. Ich weiß das ich mit dem Befehl SetComputerName den NetBios-Namen ändern kann. Aber wie kann ich den richtigen Computernamen, also den unter Arbeitsplatz-->Eigenschaften-->Computernamen ändern ?

Ich habe es schon mit SetComputerNameA versucht, aber leider hat das nicht funktioniert. Habt Ihr da vielleicht eine Idee ?

SirThornberry 30. Mai 2006 06:15

Re: Den richtigen Computernamen ändern
 
SetComputerName und SetComputerNameA ist das gleiche.

Basilikum 30. Mai 2006 06:29

Re: Den richtigen Computernamen ändern
 
MSDN-Library durchsuchenSetComputerNameEx

RWarnecke 30. Mai 2006 09:16

Re: Den richtigen Computernamen ändern
 
Zitat:

Zitat von SirThornberry
SetComputerName und SetComputerNameA ist das gleiche.

Und wie heißt dann der Delphi-Befehl für mein Problem, ich blicke gerade überhaupt nicht durch.

Olli 30. Mai 2006 09:20

Re: Den richtigen Computernamen ändern
 
Zitat:

Zitat von RWarnecke
Zitat:

Zitat von SirThornberry
SetComputerName und SetComputerNameA ist das gleiche.

Und wie heißt dann der Delphi-Befehl für mein Problem, ich blicke gerade überhaupt nicht durch.

Es gibt zu vielen Funktionen ein Funktionspaar:

"FunctionA" und "FunctionW". Unter Delphi wird der Alias "Function" immer auf "FunctionA" abgebildet. In C/C++ wird der Alias "Function" je nach Einstellung von z.B. _UNICODE auf "FunctionW" oder "FunctionA" abgebildet. Sinn dahinter ist es, gleichzeitig Support für Unicode und ANSI zu bieten. Unicode ist in diesem Fall UCS2.

RWarnecke 30. Mai 2006 16:27

Re: Den richtigen Computernamen ändern
 
Und wie wende ich ich jetzt den Befehl SetComputerNameEx im Delphi an ?

Basilikum 30. Mai 2006 18:37

Re: Den richtigen Computernamen ändern
 
Zitat:

Zitat von RWarnecke
Und wie wende ich ich jetzt den Befehl SetComputerNameEx im Delphi an ?

diese API ist in der Windows.pas nicht enthalten - demnach selber importieren:
Delphi-Quellcode:
Const
  kernel32                        = 'kernel32.dll';

Type
  COMPUTER_NAME_FORMAT           = (
                                     ComputerNameNetBIOS,
                                     ComputerNameDnsHostname,
                                     ComputerNameDnsDomain,
                                     ComputerNameDnsFullyQualified,
                                     ComputerNamePhysicalNetBIOS,
                                     ComputerNamePhysicalDnsHostname,
                                     ComputerNamePhysicalDnsDomain,
                                     ComputerNamePhysicalDnsFullyQualified,
                                     ComputerNameMax
                                    );


Function                         GetComputerNameEx
                                  (
                                    NameType : COMPUTER_NAME_FORMAT;
                                    lpBuffer : PChar;
                                    Var lpnSize : DWORD
                                  ) : BOOL; StdCall; External kernel32 Name 'GetComputerNameExA';

Function                         SetComputerNameEx
                                  (
                                    NameType : COMPUTER_NAME_FORMAT;
                                    lpBuffer : PChar
                                  ) : BOOL; StdCall; External kernel32 Name 'SetComputerNameExA';

Procedure ???
Begin
  SetComputerNameEx(ComputerNamePhysicalDnsHostname,'Globi');
end;

RWarnecke 31. Mai 2006 16:29

Re: Den richtigen Computernamen ändern
 
Danke, Basilikum. Dein Codebeispiel funktioniert wunderbar. Ich habe mir das auch zusammen mit dem Ausschnitt aus der MSDN für den Befehl SetComputerNameEx angeschaut. Jetzt bleibt nur noch eine Frage offen. Kann ich das gleiche Verfahren auch auf andere Befehle aus der MSDN anwenden ?

Olli 31. Mai 2006 17:33

Re: Den richtigen Computernamen ändern
 
Zitat:

Zitat von RWarnecke
Kann ich das gleiche Verfahren auch auf andere Befehle aus der MSDN anwenden ?

Ja.

Hier findest unter anderem eine Anleitung wie du die Typen aus dem PSDK in Delphi umsetzt.

RWarnecke 9. Jun 2006 13:12

Re: Den richtigen Computernamen ändern
 
Zitat:

Zitat von Basilikum
Delphi-Quellcode:
Procedure ???
Begin
  SetComputerNameEx(ComputerNamePhysicalDnsHostname,'Globi');
end;

Warum funktioniert dieser Aufruf nicht mit einer Variable ? Wenn ich statt 'Globi' eine Variable an die Stelle schreibe, streikt die Funktion SetComputerNameEx. Warum ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz