delphi - क्या एक Windows dll अपना स्वयं का फ़ाइल नाम पुनः प्राप्त कर सकता है?

original title: "delphi - Can a Windows dll retrieve its own filename?"


A Windows exe file has access to the command string which invoked it, including its path and filename. eg. C:\MyApp\MyApp.exe --help.

But this is not so for a dll invoked via LoadLibrary. Does anyone know of a way for a dll to find out what its path and filename is?

Specifically I'm interested in a Delphi solution, but I suspect that the answer would be pretty much the same for any language.

Windows exe फ़ाइल में कमांड स्ट्रिंग तक पहुंच होती है जो इसे लागू करती है, जिसमें इसका पथ और फ़ाइल नाम भी शामिल है। जैसे। C: \ MyApp \ MyApp.exe --help। लेकिन LoadLibrary के माध्यम से लगाए गए dll के लिए ऐसा नहीं है। एक ...

यह अनुवाद के बाद का सारांश है, अगर आपको पूरा अनुवाद देखने की आवश्यकता है, तो कृपया 'अनुवाद' आइकन पर क्लिक करें

सभी उत्तर
  • Translate

    I think you're looking for GetModuleFileName.

      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;
      szFileName: array[0..MAX_PATH] of Char;
      FillChar(szFileName, SizeOf(szFileName), #0);
      GetModuleFileName(hInstance, szFileName, MAX_PATH);
      Result := szFileName;

    Untested though, been some time since I worked with Delphi :)