PDA

View Full Version : سوال: چگونه می توان تمام internet explorer های باز شده در ویندوز را refresh کرد



sajadzare
جمعه 25 مرداد 1392, 09:42 صبح
سلام

من یه پروژه دارم تحت وب . که باید صفحه اصلی سایت در طول انجام عملیاتی که روی صفحات دیگه سایت انجام میشه باز باشه و اگه بسته بشه کارمون خراب میشه. یه مشکلی هست اونم اینه که سایت اصلی اگه به مدت 30 دقیقه هیچ refresh ی نشه عملا از سرور ارتباطشو قطع میکنه با اینکه باز هست ولی اگه بعد از 30 دقیقه رفرش بزنیم میفهمیم که باید دوباره لاگین کنیم. پس من میخوام هر بار که عملیات توی حلقه انجام میشه یه بار چک کنه و تمام بروزرهای باز شده اکسپلورر رو رفرش کنه تا خیالم راحت باشه که ارتباط صفحه اصلی با سرور قطع نمیشه.

من با استفاده از این کد تونستم پروسس های اکسپلورر رو پیدا کنم و عمل kill به خوبی انجام میشه و تمام پروسس ها رو میبنده ولی عمل refresh هیچ کاری نمیکنه و رفرشی انجام نمیده. میشه بگین من باید چیکار کنم ؟



foreach (Process p in System.Diagnostics.Process.GetProcessesByName("iexplore"))
{


try
{
p.Refresh();

}
catch
{
}

}

m92.goodarzi
جمعه 25 مرداد 1392, 10:27 صبح
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName,
string lpWindowName);

// Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);


private void RefreshExplorer()
{
//You may want to receive the window caption as a parameter...
//hard-coded for now.
// Get a handle to the current instance of IE based on window title.
// Using Google as an example - Window caption when one navigates to google.com
IntPtr explorerHandle = FindWindow("IEFrame", "Google - Windows Internet Explorer");

// Verify that we found the Window.
if (explorerHandle == IntPtr.Zero)
{
MessageBox.Show("Didn't find an instance of IE");
return;
}

SetForegroundWindow(explorerHandle );
//Refresh the page
SendKeys.Send("{F5}"); //The page will refresh.
}
}
}


وقتی سنگ اول رو کج بزاری دیوار تا آخر کج بالا میره.به شما پیشنهاد میکنم از روشهای بهتری استفاده کنید

sajadzare
جمعه 25 مرداد 1392, 11:00 صبح
ممنون از اینکه زحمت کشیدید و جواب دادید ... ولی من نمیخوام یه عنوان خاص رو فقط سرچ کنم و فقط اون صفحه رو رفرش کنم کلا میخوام حساس به عنوان صفحه نباشه.