उपयोगकर्ता द्वारा एक बटन क्लिक करने पर मैं एक प्रक्रिया कैसे शुरू कर सकता हूं, जैसे URL लॉन्च करना?
उपयोगकर्ता द्वारा एक बटन क्लिक करने पर मैं एक प्रक्रिया कैसे शुरू कर सकता हूं, जैसे URL लॉन्च करना?
जवाबों:
जैसा कि मैट हैमिल्टन ने सुझाव दिया, त्वरित दृष्टिकोण जहां आपके पास प्रक्रिया पर सीमित नियंत्रण है, System.Diagnostics.Process वर्ग पर स्थैतिक प्रारंभ विधि का उपयोग करना है ...
using System.Diagnostics;
...
Process.Start("process.exe");
विकल्प प्रक्रिया वर्ग के एक उदाहरण का उपयोग करना है। यह शेड्यूलिंग सहित इस प्रक्रिया पर बहुत अधिक नियंत्रण की अनुमति देता है, यह जिस प्रकार की विंडो में चलेगा और मेरे लिए सबसे उपयोगी होगा, प्रक्रिया समाप्त होने की प्रतीक्षा करने की क्षमता।
using System.Diagnostics;
...
Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();
process.WaitForExit();// Waits here for the process to exit.
इस विधि से मैंने उल्लेख किया है की तुलना में कहीं अधिक नियंत्रण की अनुमति देता है।
आप प्रक्रिया शुरू करने के लिए System.Diagnostics.Process.Start पद्धति का उपयोग कर सकते हैं । आप एक URL को स्ट्रिंग के रूप में भी पास कर सकते हैं और यह डिफ़ॉल्ट ब्राउज़र को बंद कर देगा।
जैसा कि मैट कहते हैं, Process.Start का उपयोग करें ।
आप एक URL, या एक दस्तावेज़ पास कर सकते हैं। वे पंजीकृत आवेदन द्वारा शुरू किए जाएंगे।
उदाहरण:
Process.Start("Test.Txt");
यह Text.Txt लोड के साथ Notepad.exe शुरू करेगा।
Win32Exception
(0x80004005) "इस ऑपरेशन के लिए कोई फ़ाइल निर्दिष्ट फ़ाइल से जुड़ी नहीं है"
मैंने अपने कार्यक्रम में निम्नलिखित का उपयोग किया।
Process.Start("http://www.google.com/etc/etc/test.txt")
यह थोड़ा बुनियादी है, लेकिन यह मेरे लिए काम करता है।
आप किसी भी एप्लिकेशन को चलाने के लिए इस सिंटैक्स का उपयोग कर सकते हैं:
System.Diagnostics.Process.Start("Example.exe");
और एक URL के लिए एक ही है। इसके बीच बस अपना URL लिखें ()
।
उदाहरण:
System.Diagnostics.Process.Start("http://www.google.com");
प्रक्रिया वर्ग का उपयोग करें । MSDN प्रलेखन का एक उदाहरण है कि इसका उपयोग कैसे किया जाए।
class ProcessStart
{
static void Main(string[] args)
{
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "ProcessStart.cs";
notePad.Start();
}
}
इसकी घोषणा करें
[DllImport("user32")]
private static extern bool SetForegroundWindow(IntPtr hwnd);
[DllImport("user32")]
private static extern bool ShowWindowAsync(IntPtr hwnd, int a);
और इसे अपने फ़ंक्शन के अंदर रखें (ध्यान दें कि "checkInstalled" वैकल्पिक है, लेकिन यदि आप इसका उपयोग करेंगे, तो आपको इसे लागू करना होगा)
if (ckeckInstalled("example"))
{
int count = Process.GetProcessesByName("example").Count();
if (count < 1)
Process.Start("example.exe");
else
{
var proc = Process.GetProcessesByName("example").FirstOrDefault();
if (proc != null && proc.MainWindowHandle != IntPtr.Zero)
{
SetForegroundWindow(proc.MainWindowHandle);
ShowWindowAsync(proc.MainWindowHandle, 3);
}
}
}
ध्यान दें: मुझे यकीन नहीं है कि यह काम करता है जब .exe का एक से अधिक उदाहरण चल रहा है।
को शामिल करें using System.Diagnostics;
।
और फिर यह कॉल करें Process.Start("Paste your URL string here!");
कुछ इस तरह की कोशिश करो:
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;
namespace btnproce
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string t ="Balotelli";
Process.Start("http://google.com/search?q=" + t);
}
}
}
कृपया ध्यान दें कि यह एक उदाहरण के रूप में ASP.NET नमूना है। आपको कोशिश करनी चाहिए और थोड़ा सुधारना चाहिए।
उदाहरण के लिए Microsoft Word प्रारंभ करने के लिए, इस कोड का उपयोग करें:
private void button1_Click(object sender, EventArgs e)
{
string ProgramName = "winword.exe";
Process.Start(ProgramName);
}
अधिक स्पष्टीकरण के लिए, इस लिंक को देखें ।
अगर विंडोज पर उपयोग कर रहे हैं
Process process = new Process();
process.StartInfo.Filename = "Test.txt";
process.Start();
नेट फ्रेमवर्क के लिए काम करता है, लेकिन नेट कोर 3.1 के लिए भी UseShellExecute को सही पर सेट करना होगा
Process process = new Process();
process.StartInfo.Filename = "Test.txt";
process.StartInfo.UseShellExecute = true;
process.Start();