2010-01-25 16 views
5

Bizim uygulama bizim yükleyip çalıştırmak için HASP SRM aygıt sürücüsü sırayla yüklenmiş olması gerekir. Şu anda nasıl XP uyumluluk modunda başka sürecini başlatmak mı?

, sadece onların 5.50 sürücüleri (test yaklaşık 1 3 bilgisayarlarda çökmesine onların 5,75 (resmi her ikisi) ve 5.86 (beta) sürücüler) tüm test platformlarında sürekli çalışır.

Bu nedenle, kendi 5.50 sürücüleri iyi, şu anda kullanılabilir olan herhangi bir şey bozuk ve 5.50 sürücüleri Vista ve Windows 7 altında yüklemeyi reddediyor. Ancak, exe özelliklerini "XP uyumluluk modu" olarak ayarlarsanız, onların 5.50 sürücüsü başarıyla yükler ve çalıştırır.

Ben Windows 7 altında kayıt etrafında kazdık ve ben uyumluluk modu için sorduğunuzda yapılan en az bir girdi olduğunu tespit ettik:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\ 
    full-path REG_SZ WINXPSP3 

ben o anahtarı eklemek mümkün olmalıdır 5.50 sürücü yükleyicisini başlatma girişiminde bulunmadan önce yükleyicimiz.

Sorular: Ben uyumluluk modları daha eksiksiz bir tartışma bulabilirsiniz

  • ?
  • Windows 7 vs Vista altında farklı anahtarı/ayarlar mısınız?
  • 32 bit vs. 64 bit altında farklı anahtarı/ayarlar mısınız?
  • CreateProcess() öğesini çağırdığımda doğrudan bunu sormanın bir yolu var mı?

cevap

3

Sen (CreateProcess çağırmadan önce sürecinde bunu ayarlayarak, ya CreateProcess için yeni bir ortam bloğu inşa) __COMPAT_LAYER ortam değişkeni ayarlamak umut verici görünüyor

+0

olabilir. Bu işi yapabilirsem size cevabı vereceğim. ;) – Mordachai