Как получить шестнадцатеричный IntPtr с ведущим 0x0? - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь программно получить IntPtr для отправки сообщений и ключей внешним программам. Я могу получить правильное шестнадцатеричное значение для дескрипторов кнопок.

Console.WriteLine(myIntPtr) //If I take the number here as, say, XXX
IntPtr manualIntPtr = (IntPtr)0x0XXX; //I type this in so I can confirm I need the 0x0 portion
SendMessage(manualIntPtr, 0x0F5, 0, IntPtr.Zero); //This successfully clicks a button with handle 0x0XXX

Моя проблема заключается в том, что мой программно полученный IntPtr не имеет формат "0x0XXX". Если я делаю что-то вроде

myIntPtrString = "0x0" + Convert.ToString(myIntPtr);
myIntPtr = IntPtr(Convert.ToString(myIntPtrString)); // I'm brand new to C#, there's probably a better way to do this

, то 0x0 теряется и SendMessage () больше не работает. Есть ли какой-нибудь способ сохранить "0x0" внутри IntPtr? Спасибо за вашу помощь!

...