यह मेरा कोड है:सी # Process.MainWindowHandle हमेशा रिटर्न IntPtr शून्य
using (Process game = Process.Start(new ProcessStartInfo() {
FileName="DatabaseCheck.exe",
RedirectStandardOutput = true,
CreateNoWindow = true,
UseShellExecute = false }))
{
lblLoad.Text = "Loading";
int Switch = 0;
while (game.MainWindowHandle == IntPtr.Zero)
{
Switch++;
if (Switch % 1000 == 0)
{
lblLoad.Text += ".";
if (lblLoad.Text.Contains("...."))
lblLoad.Text = "Loading.";
lblLoad.Update();
game.Refresh();
}
}
समस्या है, कि game.MainWindowHandle हमेशा IntPtr.Zero है। मुझे लॉन्चर द्वारा गेम शुरू करने की पुष्टि करने के लिए रन प्रक्रिया की IntPtr को खोजने की आवश्यकता है, इसलिए मैंने गेम को इंटप्रार्ट भेज दिया और लॉन्चर को जवाब देने दें कि यह ठीक है या नहीं। लेकिन इसके लिए, मुझे विशेष रूप से चलने की प्रक्रिया के IntPtr को जानना चाहिए।
अग्रिम धन्यवाद!
कि घर जब मैं कर रहा हूँ कोशिश करेंगे है। धन्यवाद – Kfirprods
धन्यवाद, यह काम किया। – Kfirprods
ध्यान दें कि 4.5 पर यह अब आवश्यक नहीं है (अनावश्यक - मेरा कोड 4.5 पर काम करता है और जब तक मैं जोड़ा गया तब तक 3.5 तक गिर गया जब तक मैंने जोड़ा। आरफ्रेश() ' – Basic