Wykrywanie skryptu wywołującego Pythona z DLL systemu Windows przy użyciu CTypes

Staram się dodać funkcjonalność w dll systemu Windows, aby wykryć nazwę wywołującego skryptu Pythona.

Wywoływam dll przez Pythona, używając ctypes, jak opisano w odpowiedziach naJak mogę wywołać bibliotekę DLL z języka skryptowego?

W dll mogę z powodzeniem określić proces wywołujący za pomocą WINAPI GetModuleFileName ()http://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v=vs.85).aspx. Ponieważ jednak jest to skrypt Pythona, jest uruchamiany za pomocą pliku wykonywalnego Pythona, dlatego zwrócona nazwa pliku modułu to „C: /Python33/Python.exe”. Potrzebuję nazwy rzeczywistego pliku skryptu wykonującego wywołanie. czy to możliwe?

Trochę tła, dlaczego: ten plik DLL jest używany do uwierzytelniania. Generuje skrót za pomocą współdzielonego tajnego klucza, aby skrypt mógł użyć do uwierzytelnienia żądania HTTP. Jest osadzony w dll, dzięki czemu osoby korzystające ze skryptu nie zobaczą klucza. Chcemy się upewnić, że plik python wywołujący skrypt jest podpisany, aby nie tylko każdy mógł użyć tego dll do wygenerowania podpisu, więc uzyskanie ścieżki pliku skryptu wywołującego jest pierwszym krokiem.

questionAnswers(1)

yourAnswerToTheQuestion