PDA

View Full Version : webbrowser خيلي فوري و به نظرم جالب



mohammad_2oo5
سه شنبه 10 آذر 1388, 09:02 صبح
سلام
من يك پروژه دارم كه از چند صفحه Webbroswer استفاده كردم چون اطلاعات هر چند ساعت تغيير مي كنه كاربر با كليك بر روي يك باتن مي خواهد اطلاعات بروز را دريافت كند
اما مشكل اينه كه Service دهندگان اينترنت صفحات را cash مي كند
و صفحه جديد نمايش داده نمي شود
از flag هاي خود webbrowser كاملا اطلاع دارم كه روي client فقط جواب مي دهند
تنها راهكار رفع اين موضوع استفاده از Ctrl+F5
سئوالم اينه:
چطور ميشه با كليك بر روي يك باتن Ctrl+F5 را شبيه سازي كرد؟ (يعني اگه كليك كني مثل اين باشه كهCtrl+F5را زدي )
(سايتهاي زيادي را هم ديدم كه بعضي كليدها را شبيه سازي يا Disable كردند كه هيچ كدوم به درد اين كار نمي خوره)
لطفا مدير اين بخش هم نظر بده ممنون
---------------------------------------
www.smesfair.com (http://www.smesfair.com)

AbiriAmir
سه شنبه 10 آذر 1388, 15:38 عصر
procedure TForm1.Button1Click(Sender: TObject);
var key : word;
begin
key := 116;
Edit1KeyDown(nil, key, [ssctrl]);

end;

mohammad_2oo5
سه شنبه 10 آذر 1388, 16:54 عصر
سلام
ممنون از جواب
من edit1 را با اين پارامترها مقدار دادم و داخل edit آدرس اينترنتي را دادم
webbroser.Navigate('سايت')
ولي نشد

mohammad_2oo5
سه شنبه 10 آذر 1388, 17:00 عصر
خواهشمندم تيكه كد كامل براي راهنمايي قرار دهيد:گریه:

khazaie01
شنبه 14 آذر 1388, 11:40 صبح
سلام دوست عزیز
از پروسیجر
keybd_event() استفاده کنید

mohammad_2oo5
دوشنبه 16 آذر 1388, 07:46 صبح
با سلام
تيكه كدي كه بايد استفاده بشه را خواهشمند است قراردهيد(منظورشما اگه چك كردن صفحه كيبورد است كه اصلا دليل سئوال من هم اينه كه از صفحه كيبورد استفاده نشه و فقط با زدن EVENT كليك يك باتن اين رويداد انجام بشه)
------------------------------------------------
http://www.smesfair.com

Felony
دوشنبه 16 آذر 1388, 09:52 صبح
تابع Keybd_Event کد یک کلید رو میگیره و به صورت مجازی اون رو شبیه سازی میکنه .
مثلا کد زیر فشار داده شدن کلید اینتر رو شبیه سازی میکنه :

Keybd_Event(13,0,0,0);

mohammad_2oo5
سه شنبه 17 آذر 1388, 11:08 صبح
تابع Keybd_Event کد یک کلید رو میگیره و به صورت مجازی اون رو شبیه سازی میکنه .
مثلا کد زیر فشار داده شدن کلید اینتر رو شبیه سازی میکنه :
کد:
Keybd_Event(13,0,0,0);


باسلام
از توضيحات شما متشكرم اما هنوز جواب سئوال را نگرفتم اگر بخواهم CRTL+F5 را شبيه سازي كنم بايد داخل تابع
Keybd_Event( ,,,); چه اعدادي و به چه صورتي كد نويسي كنم
ممنون مي شوم كد كامل شده را مرقوم كنيد(خودم قبلا با اين تابع كار كردم هرچند كه فكر نمي كنم اينطوري بشود اين كار را كرد) لطفا راهنمايي كنيد:عصبانی++::گریه:
--------------------------------------
http://www.smesfair.com

khazaie01
سه شنبه 17 آذر 1388, 11:13 صبح
عزیز برو به این لینک (http://msdn.microsoft.com/en-us/library/ms646304%28VS.85%29.aspx)
تمام پارامترها را توضیح داده کافیه عدد مربوط به کنترل و عدد مربوط به اف 5 را از تو لیستی که داده پیدا کنید

Felony
سه شنبه 17 آذر 1388, 11:41 صبح
باسلام
از توضيحات شما متشكرم اما هنوز جواب سئوال را نگرفتم اگر بخواهم CRTL+F5 را شبيه سازي كنم بايد داخل تابع
Keybd_Event( ,,,); چه اعدادي و به چه صورتي كد نويسي كنم
ممنون مي شوم كد كامل شده را مرقوم كنيد(خودم قبلا با اين تابع كار كردم هرچند كه فكر نمي كنم اينطوري بشود اين كار را كرد) لطفا راهنمايي كنيد:عصبانی++::گریه:
--------------------------------------
http://www.smesfair.com

یک هم خودتون تلاش کنید ، هر کلید رو باید جداگانه شبیه سازی کنید ، یعنی برای هر کلید یک Keybd_Event جدا .

mohammad_2oo5
دوشنبه 23 آذر 1388, 15:45 عصر
با سلام
متاسفانه نشد.
واقعاكسي نيست كه بتواند اين مسئله را حل كنه؟
:خجالت:
--------------------------------------------------
http://www.smesfair.com

iamehsan56
دوشنبه 23 آذر 1388, 16:38 عصر
keybd_event(VK_LCONTROL,$45, KEYEVENTF_EXTENDEDKEY or 0, 0 );
keybd_event(VK_F5,$45, KEYEVENTF_EXTENDEDKEY , 0 );