दिलचस्प पोस्ट
पांडा कॉलम पर कई डेटाफ्रेम में शामिल हो गए एसएसआईएस 2012 पैकेज को निष्पादित करना जिसमें बाह्य अनुप्रयोग से स्क्रिप्ट घटक हैं टर्नरी ऑपरेटर के परिणामस्वरूप अप्रत्याशित प्रकार वास्तविक उपयोग में सबसे आम गैर-बीएमपी यूनिकोड वर्ण क्या हैं? स्प्रिंग जेपीए के साथ नरम हटाए गए हैंडलिंग JVM एक आउटऑफममेरी एर्रर के बिना पुनरारंभ किए बिना पुनर्प्राप्त कर सकता है हल करने में विफल: com.google.firebase: firebase-core: 9.0.0 बिटमैप इमेज के विशिष्ट पिक्सेल रंग ढूँढना सिर्फ यूआरएल का इस्तेमाल करते हुए और नई विंडो खोलने के बिना एक वेब पेज छपाई? डुप्लिकेट प्रविष्टियों को कैसे हटाएं? मेरे Perl परीक्षण `एन्कोडिंग 'utf8'` के साथ क्यों विफल हो जाते हैं? लिखित संख्याओं को पूर्णांक में कनवर्ट करें जेएसटीएल में मानों की तुलना करने के लिए सही सिंटैक्स <c: यदि test = "$ {values.type} == 'ऑब्जेक्ट'"> फीचर शाखा रिबेस के बाद गिट धक्का खारिज कर दिया गया PHP में सप्ताह के पहले दिन प्राप्त करें?

एक और ऐप के लिए कैसे खोलें और इसे डेल्फी फॉर्म में दिखाई दे

डेल्फी में मैंने कई अनुप्रयोगों के लिए शैलएक्सेक्यूट का उपयोग किया है (और वैकल्पिक रूप से प्रतीक्षा करने के लिए) अन्य एप्लिकेशन अब हालांकि, मुझे इनमें से एक एप्लिकेशन डेल्फी ऐप फॉर्म में से एक में आने की आवश्यकता है। मैंने नीचे दिए गए कोड को नोटपैड खोलने के लिए एक साधारण परीक्षण के रूप में करने की कोशिश की है (जो यह करता है) और मेरे फॉर्म पर PAnel1 के भीतर परिणाम प्रदर्शित करने के लिए (जो इसे नहीं करता)। क्या किसी तरह का व्यक्ति मुझे सही रास्ते पर डाल सकता है? धन्यवाद

var Rec : TShellExecuteInfo; wnd : HWnd; const AVerb = 'open'; AParams = ''; AFileName = 'Notepad.exe'; ADir = ''; begin FillChar(Rec, SizeOf(Rec), #0); Rec.cbSize := SizeOf(Rec); Rec.fMask := SEE_MASK_NOCLOSEPROCESS; Rec.lpVerb := PChar( AVerb ); Rec.lpFile := PChar( AfileName ); Rec.lpParameters := PChar( AParams ); Rec.lpDirectory := PChar( Adir ); Rec.nShow := sw_Show; ShellExecuteEx(@Rec); wnd := Windows.FindWindow( 'Notepad', nil ); Windows.SetParent( Wnd, PAnel1.Handle ); end; 

Solutions Collecting From Web of "एक और ऐप के लिए कैसे खोलें और इसे डेल्फी फॉर्म में दिखाई दे"

सभी त्रुटि जांच छोड़ी गई, लेकिन आपको इसे प्रारंभ करना चाहिए:

 procedure TForm1.Button1Click(Sender: TObject); var Rec: TShellExecuteInfo; const AVerb = 'open'; AParams = ''; AFileName = 'Notepad.exe'; ADir = ''; begin FillChar(Rec, SizeOf(Rec), #0); Rec.cbSize := SizeOf(Rec); Rec.fMask := SEE_MASK_NOCLOSEPROCESS; Rec.lpVerb := PChar( AVerb ); Rec.lpFile := PChar( AfileName ); Rec.lpParameters := PChar( AParams ); Rec.lpDirectory := PChar( Adir ); Rec.nShow := SW_HIDE; ShellExecuteEx(@Rec); WaitForInputIdle(Rec.hProcess, 5000); fNotepadHandle := Windows.FindWindow( 'Notepad', nil ); Windows.SetParent( fNotepadHandle, Handle ); Resize; ShowWindow(fNotepadHandle, SW_SHOW); end; procedure TForm1.FormResize(Sender: TObject); begin if IsWindow(fNotepadHandle) then begin SetWindowPos(fNotepadHandle, 0, 0, 0, ClientWidth, ClientHeight, SWP_ASYNCWINDOWPOS); end; end; 

आपको निश्चित रूप से क्या करना चाहिए, नई विंडो की खिड़की की गणना करना है, बस किसी भी विंडो हैंडल का उपयोग करते हुए FindWindow () रिटर्न

 var URL: string; begin URL:= DBMemoURL.Text; // ShellExecute(self.WindowHandle,'open', PChar(URL), nil, nil, SW_SHOW); //default browser ShellExecute(self.WindowHandle,'open','chrome.exe', PChar(URL), nil, SW_SHOW); 

यह मुश्किल होगा, यदि यह संभव हो तो

मैंने उन तरीकों को देखा है जो पाठ-आधारित अनुप्रयोगों के लिए काम करेंगे – वे आमतौर पर प्रक्रिया के मानक आउटपुट को कैप्चर करते हैं और इसे एक टेक्स्ट कंट्रोल में डालते हैं।

लेकिन आप जिस बारे में बात कर रहे हैं वह पूरी तरह से विकसित ग्राफिकल एप्लीकेशन है (नोटपैड, पाठ पर काम करने के बावजूद, प्रदर्शन पिक्सेल, चरित्र कोड नहीं)।

इसलिए, जब तक कि नोटपैड एक इंटरफ़ेस प्रदान नहीं करता है, जहां आप यह कर सकते हैं:

  • बफर में मनमाना वर्णों का अनुरोध; तथा
  • प्रोग्राम में मनमानी कीस्ट्रोक्स भेजें, मैं कहूंगा कि आप भाग्य से बाहर हैं

निश्चिंत रूप से एक क्लॉज, लेकिन एक विकल्प लगातार नोटपैड खिड़कियों पर नज़र रखता है और यह सुनिश्चित करता है कि यह आपके फ़ॉर्म क्लाइंट क्षेत्र पर हमेशा आरोपित हो। यह बहुत भयानक है क्योंकि आपको इसे चलना, रीसाइज़ करना, कम से कम करने और इतने पर रोक देना पड़ता है, और अपने z-order को बनाए रखने के लिए बस अपने अनुप्रयोगों के ऊपर होना चाहिए मैं उन सबसे खराब दुश्मन पर उन आवश्यकताओं की इच्छा नहीं करेगा

क्या आपने डेल्फी (या एक ActiveX संपादक जिसे आप एम्बेड कर सकते हैं) के लिए बनाया गया एक संपादक नियंत्रण का उपयोग करने के बारे में सोचा है? यह एक बेहतर दृष्टिकोण हो सकता है