نوشته شده توسط
Sir-Programmer
ممنون از راهنمایی هات دوست عزیز ، منم هنوز تست نزدم فقط در مورد اینکه بخوام متن رو در آدرس بار کروم بزارم یا کلاً برای ست کردن یه استرینگ در تکست باکس برنامه باید چیکار کرد ؟ میشه این تغییرات رو تو همین سورس اعمال کنی که با نحوه کارش آشنا شم ؟
ممنون
کنترل های تکست باکس یدونه متد SetValue دارند که میشه با اون متد براشون مقدار تعیین کنید.
الان نمونه کد متد SetChromeUrl رو براتون میذارم که به جای یک پارامتر دارای دو پارامتر ورودی هست.دومی متنی هست که میخواهید در Address bar قرار بگیرد.کد چگونگی استفاده اش هم براتون گذاشتم :
public void SetChromeUrl(Process process,string url)
{
try
{
if (process == null)
{
throw new ArgumentNullException("process");
}
if (process.MainWindowHandle == IntPtr.Zero)
return;
AutomationElement element = AutomationElement.FromHandle(process.MainWindowHan dle);
if (element == null)
return;
AutomationElement edit1 = element.FindFirst(TreeScope.Subtree, new PropertyCondition(AutomationElement.ControlTypePro perty, ControlType.Edit));
ValuePattern d = (ValuePattern)edit1.GetCurrentPattern(ValuePattern .Pattern);
d.SetValue(url);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void btnSet_Click(object sender, EventArgs e)
{
var query = from p in Process.GetProcesses()
where p.ProcessName.Contains("chrome")
select p;
foreach (var p in query)
{
if (p.MainWindowHandle != IntPtr.Zero)
{
SetChromeUrl(p,textBox1.Text);
}
}
}
یک نمونه پروژه که نحوه ی استفاده از GetUrlChrome و SetUrlChrome رو نشون میده هم براتون ضمیمه کردم.