আমি কোনও প্রক্রিয়া কীভাবে শুরু করব, যেমন যখন ব্যবহারকারী কোনও বোতামে ক্লিক করেন তখন ইউআরএল চালু করা?
আমি কোনও প্রক্রিয়া কীভাবে শুরু করব, যেমন যখন ব্যবহারকারী কোনও বোতামে ক্লিক করেন তখন ইউআরএল চালু করা?
উত্তর:
ম্যাট হ্যামিল্টনের পরামর্শ অনুসারে, দ্রুত পদ্ধতির যেখানে আপনার প্রক্রিয়াটির সীমিত নিয়ন্ত্রণ রয়েছে, তা হ'ল 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 পাস করতে পারেন এবং এটি ডিফল্ট ব্রাউজারটি সরিয়ে ফেলবে kick
যেমন ম্যাট বলেছেন, প্রসেস.স্টার্টটি ব্যবহার করুন ।
আপনি একটি URL বা একটি দস্তাবেজ পাস করতে পারেন। এগুলি নিবন্ধিত আবেদন দ্বারা শুরু করা হবে।
উদাহরণ:
Process.Start("Test.Txt");
এটি পাঠ্য.টেক্সট লোড সহ নোটপ্যাড.এক্সি শুরু করবে।
Win32Exception
(0x80004005) "এই অপারেশনের জন্য নির্দিষ্ট ফাইলের সাথে কোনও অ্যাপ্লিকেশন যুক্ত নয়"
আমি নিজের প্রোগ্রামে নিম্নলিখিতটি ব্যবহার করেছি।
Process.Start("http://www.google.com/etc/etc/test.txt")
এটি কিছুটা বেসিক, তবে এটি আমার জন্য কাজ করে।
আপনি কোনও অ্যাপ্লিকেশন চালানোর জন্য এই সিনট্যাক্সটি ব্যবহার করতে পারেন:
System.Diagnostics.Process.Start("Example.exe");
এবং একটি ইউআরএল জন্য একই। এর মধ্যে আপনার URL লিখুন ()
।
উদাহরণ:
System.Diagnostics.Process.Start("http://www.google.com");
প্রক্রিয়া শ্রেণি ব্যবহার করুন । এমএসডিএন ডকুমেন্টেশনে এটি কীভাবে ব্যবহার করতে হয় তার একটি উদাহরণ রয়েছে।
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);
এবং এটি আপনার ফাংশনের ভিতরে রাখুন (নোট করুন যে "চেক ইনস্টল করা" isচ্ছিক, তবে আপনি যদি এটি ব্যবহার করেন তবে আপনাকে এটি প্রয়োগ করতে হবে)
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 পৃষ্ঠা। আপনার চেষ্টা করা উচিত এবং কিছুটা অসম্পূর্ণ হওয়া উচিত।
উদাহরণস্বরূপ মাইক্রোসফ্ট ওয়ার্ড শুরু করতে , এই কোডটি ব্যবহার করুন:
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 এর জন্যও ইউজশেলএক্সেকুটটি সত্য হিসাবে সেট করা দরকার
Process process = new Process();
process.StartInfo.Filename = "Test.txt";
process.StartInfo.UseShellExecute = true;
process.Start();