উইন্ডোজ ডিএলএল তার নিজস্ব ফাইলের নাম উদ্ধার করতে পারে?

একটি উইন্ডোজ এক্সে ফাইলের কমান্ড স্ট্রিংটি অ্যাক্সেস আছে যা এটি চালু করেছে, তার পাথ এবং ফাইলের নাম সহ। যেমন। C: \ MyApp \ MyApp.exe --help

কিন্তু এটি একটি DLL এর জন্য লোড লাইব্রেরি এর মাধ্যমে নয়। কেউ কি একটি ডেলের জন্য একটি পথ জানতে এটি কি তার পাথ এবং ফাইলের নাম খুঁজে?

বিশেষ করে আমি একটি ডেল্ফী সমাধান আগ্রহী, কিন্তু আমি সন্দেহ যে কোনও ভাষার জন্য উত্তর অনেকটা একই হবে।

0

1 উত্তর

আমি মনে করি আপনি 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;

যদিও আমি ডেল্ফি'র সাথে কাজ করেছি তবুও নিঃশিক্ষিত কিছু সময় হয়েছে :)

0
যোগ
SysUtils আছে GetModuleName - ইতিমধ্যে D7 থেকে, আমি মনে করি।
যোগ লেখক Ondrej Kelle, উৎস
ডেল্ফী এক্সএইচ হিসাবে, GetModuleName System.pas ইউনিটের মধ্যে সংজ্ঞায়িত করা হয়
যোগ লেখক menjaraz, উৎস
ডেল্ফী 6 এ, উইন্ডো এর ব্যবহারে MAX_PATH এর সংজ্ঞাের প্রয়োজন।
যোগ লেখক w5m, উৎস