2008-12-02 10 views
6

Bu yüzden çok fazla Win32 çağrısı yapıyorum, ancak son zamanlarda GetFileTime() ve SetFileTime() işlevlerini kullanmak zorunda kaldım. Şimdi Win98 ve altındaki programımda resmi olarak desteklenmiyor olsalar bile, insanlar zaten onu kullanıyorlar ve mümkün olduğunca kullanılabilir bir şekilde kullanmaya çalışıyorum. Bu işlevler NT öncesi sistemlerde mevcut olmadığından ne olacağını merak ediyordum, örneğin bir tür hata mesajı alacaklar mı, çünkü bu durumda bir OS denetimi ekleyeceğim? TeşekkürlerNT öncesi sistemde NT işlevini çağırıyor

cevap

8

İşlevleri doğrudan çağırırsanız, programınız Win98'e yüklenmez.

Yapabilecekleriniz GetFileTime()/SetFileTime() işaretçisine ulaşmak için LoadLibrary()/GetProcAddress() kullanın. Win98'de bu başarısız olur ve size test edip görmezden gelebileceğiniz boş bir işaretçi verir. 2000 ve sonrasında, daha sonra kullanabileceğiniz bir işaretçi alırsınız.

Bu bir acı, ama bildiğim tek çözüm. Sana (dll bulunamadı yordam giriş noktası (isim)" çizgisinde bir hata mesajı inanmak

typedef BOOL (WINAPI* UpdateLayeredWinFunc) (HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD); 

UpdateLayeredWinFunc updateLayeredWindow = 0; 
HMODULE user32Mod = GetModuleHandle (_T("user32.dll")); 
updateLayeredWindow = (UpdateLayeredWinFunc) GetProcAddress (user32Mod, "UpdateLayeredWindow"); 
0

. Yine de, SetFileTime() için bir alternatif bilmiyorum.

+0

Yaptığım araştırmadan bir tane yok gibi görünüyor, teşekkürler! – SteveL

İlgili konular