Μπορεί ένα DLL των Windows ανακτήσει τη δική όνομα της;

ψήφοι
26

Ένα αρχείο exe των Windows έχει πρόσβαση στο string εντολή που επικαλείται, συμπεριλαμβανομένης της διαδρομής και το όνομα αρχείου του. π.χ. C:\MyApp\MyApp.exe --help.

Αλλά αυτό δεν είναι τόσο για ένα dll επίκληση μέσω του LoadLibrary. Ξέρει κανείς έναν τρόπο για ένα dll για να μάθετε τι διαδρομή και το όνομα αρχείου του είναι;

Συγκεκριμένα Είμαι ενδιαφέρονται για μια λύση Δελφούς, αλλά υποψιάζομαι ότι η απάντηση θα είναι λίγο πολύ η ίδια για κάθε γλώσσα.

Δημοσιεύθηκε 05/08/2008 στις 10:34
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
35

Νομίζω ότι ψάχνετε για GetModuleFileName.

http://www.swissdelphicenter.ch/torry/showcode.php?id=143 :

{
  If you are working on a DLL and are interested in the filename of the
  DLL rather than the filename of the application, then you can use this function:
}

function GetModuleName: string;
var
  szFileName: array[0..MAX_PATH] of Char;
begin
  FillChar(szFileName, SizeOf(szFileName), #0);
  GetModuleFileName(hInstance, szFileName, MAX_PATH);
  Result := szFileName;
end;

Δοκιμαστεί όμως, κάποια στιγμή από τότε που συνεργάστηκε με τους Δελφούς :)

Απαντήθηκε 05/08/2008 στις 10:37
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more