Наложение слова / числа в полноэкранном режиме игры для Windows (как в Fraps) - PullRequest
1 голос
/ 24 января 2012

Я думаю, что многие люди использовали приложение "Fraps" для записи видео из игры. Я использую его для отображения FPS (кадров в секунду) в играх. Fraps может показывать цифры в углу экрана во время игры.

Я хочу отобразить температуру ядра процессора. Температуру найду, но мне нужно как-то, как мне отобразить это в игре? (Он мне нужен для тестирования температуры ядра в игре, потому что стресс-тесты Everest / AIDA64 не сильно нагружают систему).

Хотите использовать C # (но можете слушать все решения, C ++, Java)
Примеры игр: Dirt2, Call of Duty 5 (DirectX)

P.S. Этот пост был похож ... c # text / winForm накладываемые видеоигры, такие как xfire, PIX, steam, fraps и т. Д.

Ответы [ 2 ]

1 голос
/ 24 января 2012

То, что вы хотите сделать, немного сложнее, чем вы думаете. В Интернете есть разные источники об этом, некоторые могут быть немного устаревшими. Хороший термин для поиска - "Hook Direct 3D", есть также другие темы на StackOverflow по этой теме. Хорошая нить тоже это .

Один совет: вы изменяете код времени выполнения игры, который может быть обнаружен анти-чит-механизмом и может вызвать бан, если игра многопользовательская. Возможно даже, что широко известные приложения, такие как fraps, входят в какой-то белый список против этих проверок, но я не уверен в этом.

0 голосов
/ 25 января 2012

Альтернативой тому, что вы хотите, может быть то, чтобы ваша форма всегда оставалась сверху (form.TopMost = true;).Затем вы можете установить цвет прозрачности, совпадающий с цветом вашей формы (по умолчанию это будет form.TransparencyKey = System.Drawing.SystemColors.Control;).После этого вы можете удалить границу вашей формы (form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;).Будьте осторожны, чтобы не использовать цвет прозрачности где-либо еще (это сделает часть изображений прозрачной, если она содержит этот цвет).Убедитесь, что есть способ закрыть форму.(и перемещая его при необходимости).

...