Bilgisayarımdaki fareyi C# ve kinect SDK kullanarak çalıştırmak için kendi yazılımım üzerinde çalışıyorum. Red Alert veya bir çeşit RTS, hatta sadece genel navigasyon gibi bir oyunu oynamak için kullanmayı denemek istiyorum.Farklı bir programda fare emülasyonu
Bulduğum sorun, farklı bir fare ile bir programı kullanırken, kırmızı uyarı gibi veya fare entegrasyonunun desteklenmediği bir sanal makineye giderken programın çağrıları almamasıdır. C# program, mouse_event çağrıları bırakın System.Windows.Forms.Cursor çağrıları yapıyor. Pencerelerle bağlantı kurmakta yeniyim ve burada neler oluyor, birisi bir çözümü açıklayabilir mi/oluşturabilir mi?
--UPDATE-- Bir güncelleştirme olarak, hala ne olduğundan emin değilim, ancak özellikle kırmızı alarm için bir geçici çözüm bulmuş gibi görünüyor;
Kırmızı alarm oldukça düşük bir grafik programı olduğundan, özellikle bir sanal makinede, bir XP istemcisiyle vmware iş istasyonunda çalıştırmak çok önemsiz. Mouse_event kodunu kullanırsanız iyi çalışır, HOWEVER, uğraştığım bir şey fare hareketini temsil etmek için doğru kodu bulmaktı. MOVE bayrağı, istemediğim nispeten fareyi hareket ettiriyormuş gibi görünüyor ve mutlak etiket, fareyi hiç hareket ettirmiyordu. Bu, aslında, bunlardan VEYA ekranda mutlak hareketini üretir ki, bu yüzden benim fare hareketi için kod ve tıklayarak emülasyon bu gibi bakarak sona erdi: tıklayarak için
mouse_event((int)0x00000002, cursor.X, cursor.Y, 0, 0);
ve
mouse_event((int)(0x00000001 | 0x00008000), x, y, 0 0);
Fare hareketi için, x ve y, 65535'in (mutlak aralık) yeni koordinatlarıdır. Mükemmel mi? Hayır. Ama şimdilik çalışıyor. Sanırım, windows ra uyumluluğunda belirli programların yok sayılmasıyla ilgili bir şey var, belki uyumluluk modu yüzünden? Şu anda test etmek için başka bir oyunum yok, ancak gelecekte uyumsuz bir mod ile sonuç göndereceğim.
- Pete
(Bu beni iki saat cevap olarak göndermek izin vermedi ve ben sabah uçuş yakalamak için uyumak zorunda!)
Kullanımdan kaldırılan 'mouse_event 'işlevi üzerinden' SendInput' işlevini kullanmanızı öneriyorum. –