मैं एक सी ++ Win32 आवेदन डिबगिंग कर रहा हूँ और मैं, कि प्रक्रिया के संदर्भ से एक मनमाना Win32 एपीआई कॉल करना चाहते हैं जैसे कि प्रोग्राम कोड की इस पंक्ति समाप्त हो चुकी थी:क्या मैं विजुअल स्टूडियो तत्काल विंडो से Win32 API को कॉल कर सकता हूं?
DestroyWindow(0x00021c0e);
लेकिन में प्रवेश कि तत्काल खिड़की देता है:
CXX0017: Error: symbol "DestroyWindow" not found
संपादित करें: समारोह, {,,user32.dll}[email protected]
का पूरा नाम का उपयोग करना, मैं तत्काल विंडो को समझने के लिए जो समारोह मेरा मतलब हो और समारोह का पता दिखाने कर सकते हैं:
{,,user32.dll}[email protected]
0x76600454 [email protected]
लेकिन जब मैं इसे कहते हैं की कोशिश, ऐसा होता है:
{,,user32.dll}[email protected](0x00021c0e);
CXX0004: Error: syntax error
तो यह और भी इस तरह तत्काल खिड़की से एक सी समारोह कॉल करने के लिए संभव है, या मैं गलत पेड़ भौंकने कर रहा हूँ?
विचार के लिए धन्यवाद, लेकिन ... यह मुझे 'CXX0004: त्रुटि: वाक्यविन्यास त्रुटि' देता है। आदिम प्रकारों ('दोनों 'मामलों में' int') के साथ विंडोज प्रकार (' BOOL' और 'HWND') को प्रतिस्थापित करना चीजों में सुधार करता है, लेकिन फिर मुझे 'CXX0014: त्रुटि: अनुपलब्ध ऑपरेंड' मिलता है। (मैं 32-बिट प्रक्रिया में हूं, बीटीडब्ल्यू।) – RichieHindle
स्पष्ट रूप से कार्य सूचक सूचक प्रकारों को पार्सिंग में वीएस डीबगर वास्तव में खराब है। इसके लिए एक टाइपिफ़ बनाने का प्रयास करें। 'Typedef BOOL (* DESTROYWINDOW) (HWND) रखें;' अपने कोड में, फिर डीबगर में '(* (DESTROYWINDOW) 0x76600454) ((शून्य *) 0x00021c0e) लिखें। –
@Adam: हाँ! (लेकिन एक योग्य एक)। कोड में 'टाइपपीफ' को जोड़कर, * और * वास्तव में कोड में 'टाइपपीफ' का उपयोग करके, ताकि संकलक परिभाषा को दूर नहीं फेंक सके, और * संकलन इकाई के भीतर प्रक्रिया के निष्पादन को तोड़कर जहां मैंने उपयोग किया 'typedef', अब मैं तत्काल खिड़की से DestroyWindow को कॉल कर सकते हैं। धन्यवाद! ऐसा करने के लिए इन हुप्स के माध्यम से कूदना शर्म की बात है, लेकिन कम से कम यह संभव है। – RichieHindle