Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Code für Inno-Setup gesucht (https://www.delphipraxis.net/135534-code-fuer-inno-setup-gesucht.html)

Rued 12. Jun 2009 19:09

Re: Code für Inno-Setup gesucht
 
Zitat:

Zitat von mkinzler
Ja. Und wenn sie nach {tmp} entpackt werden, werden sie automatisch wieder gelöscht

Klingt nicht schlecht, ich versuche mich `mal. Hab´ erst einmal herzlichen Dank.

Schönes Wochenende wünscht

Rüd

Codewalker 12. Jun 2009 19:37

Re: Code für Inno-Setup gesucht
 
InnoSetup kann doch auch Funktionen aus DLLs importieren und GetVolumeInformation sollte sich doch problemlos so importieren lassen (aus der Kernel32.dll. Genaue Infos sind ja in der Windows.pas drin). Benötigte Konstanten kann man da auch schnell deklarieren - dann spart man sich temporäre Programme und diverse Umwege

Rued 12. Jun 2009 20:15

Re: Code für Inno-Setup gesucht
 
Zitat:

Zitat von Codewalker
InnoSetup kann doch auch Funktionen aus DLLs importieren und GetVolumeInformation sollte sich doch problemlos so importieren lassen (aus der Kernel32.dll. Genaue Infos sind ja in der Windows.pas drin). Benötigte Konstanten kann man da auch schnell deklarieren - dann spart man sich temporäre Programme und diverse Umwege

Wenn es eine elegantere Methode gibt, würde ich Dich bitten, mir noch etwas zu helfen. In der windows.pas habe ich das gefunden:

Delphi-Quellcode:
function GetVolumeInformation(lpRootPathName: PChar;
  lpVolumeNameBuffer: PChar; nVolumeNameSize: DWORD; lpVolumeSerialNumber: PDWORD;
  var lpMaximumComponentLength, lpFileSystemFlags: DWORD;
  lpFileSystemNameBuffer: PChar; nFileSystemNameSize: DWORD): BOOL; stdcall;
{$EXTERNALSYM GetVolumeInformation}
In meinen Programmen habe ich mit
Delphi-Quellcode:
if GetvolumeInformation(pchar(drive + ':\'), nil, 0, id, dwx, dwy, nil, 0) then result := copy(IntToStr(ID^),1,8)
gearbeitet, da ich nur die ersten acht Ziffern benötige.

Wie komme ich über den Import an den String?

Gruß

Rüd

[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]

Reinhold 12. Jun 2009 21:17

Re: Code für Inno-Setup gesucht
 
Schau mal hier Deutsches InnoSetup Forum.
Hier findest Du bestimmt eine Lösung.

Gruß Reinhold

Rued 12. Jun 2009 21:22

Re: Code für Inno-Setup gesucht
 
Zitat:

Zitat von Reinhold
Schau mal hier Deutsches InnoSetup Forum.
Hier findest Du bestimmt eine Lösung.

Gruß Reinhold

Kenne ich, vergeblich gesucht.

Korrektur: habe jetzt noch einmal spezifisch gesucht, vielleicht geht was...
Gruß

Rüd

Rued 13. Jun 2009 15:39

Re: Code für Inno-Setup gesucht
 
Brauche doch noch Hilfe:

Im [Code] starte ich mit
Delphi-Quellcode:
function GetVolumeInformation: BOOL;
external 'GetVolumeInformation@files:Kernel32.dll stdcall';
Dann baue ich eine Funktion die auf GetVolumeInformation zugreift, wenn ich das richtig verstehe, also etwa

Delphi-Quellcode:
function FPSeriennummer(FP: string): string;
var
ID: PDWord;
dwx, dwy: DWord;
begin
new(ID);
  If GetVolumeInformation(pchar(FP+ ':\'), nil, 0, id, dwx, dwy, nil, 0)
          then result := copy(IntToStr(ID^),1,8);
end;
Inno kennt PDWord und new nicht und moniert die unpassende Anzahl von Parametern.

Kann mir jemand helfen?

Gruß

Rüd


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:11 Uhr.
Seite 2 von 2     12   

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