PDA

View Full Version : سوال: با شدن صفحه اینترنت در اندازه دلخواه و در مکان دلخواه در مانیتور



R2du-soft
یک شنبه 23 تیر 1392, 17:27 عصر
سلام دوستان به یه مشکلی خودم
برنامه ای نوشتم که وقتی روی دکمه کلیک میکنم سایت google رو باز میکنه.
حالا وقتی روی دکمه کلیک کردم سایت به صورت max باز میشه. هرکاری میکنم mix باز بشه نمیشه. و اینکه میخوام به هر اندازه ای که خواستم مثلا 800*600 باز بشه. میشه کاریش کرد؟
1- صفحه به صورت minimize باز بشه
2- صغحه با اندازه دستی که بهش دادم باز بشه
3-صفحه ار نقطه ای که خواستم تو مانیتورم باز بشه،باز بشه مثلا راست پایین یا بالا چپ!

دوستان اگه میشه سریعتر پاسخ بدید :کف:
مرسی :بوس:

mehran901
یک شنبه 23 تیر 1392, 18:33 عصر
سلام دوستان به یه مشکلی خودم
برنامه ای نوشتم که وقتی روی دکمه کلیک میکنم سایت google رو باز میکنه.
حالا وقتی روی دکمه کلیک کردم سایت به صورت max باز میشه. هرکاری میکنم mix باز بشه نمیشه. و اینکه میخوام به هر اندازه ای که خواستم مثلا 800*600 باز بشه. میشه کاریش کرد؟
1- صفحه به صورت minimize باز بشه
2- صغحه با اندازه دستی که بهش دادم باز بشه
3-صفحه ار نقطه ای که خواستم تو مانیتورم باز بشه،باز بشه مثلا راست پایین یا بالا چپ!

دوستان اگه میشه سریعتر پاسخ بدید :کف:
مرسی :بوس:
واسه تعیین موقیعیت ( و فک کنم سایز ، یادم نیسس الان ) از تابع setwindowplacement میتونین استفاده کنین و اینکه مینیمم باز بشهیا ماکزیمم هم میتونین از closewindow va openicon واسه مینیمایز و ماکسیمایز استفاده کنین ، واسه به دست آوردن هندل هم که از findwindow ، والبته توجه داشته باشین که با دستور شل به شکل
shell "explorer.exe http://google.com",vbnormal
یا حالب های دیگه مثل مینیمایز رو میشه اعمال کرد ، حالت های مختلف رو در آرگمان دوم تابع تعیین میکنین بجای vbnormal

R2du-soft
چهارشنبه 26 تیر 1392, 17:35 عصر
سلام،دوستان من هنوز به جوابم نرسیدم
ازکدهای زیر برای minimize اجرا کردن browser استفاده کردم اما جواب نمیده!

یک نمونه کد:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SHOWMINIMIZED = 1

Private Sub Command1_Click()
iret = ShellExecute(Me.hwnd, vbNullString, "http://www.google.com/", vbNullString, "c:", SW_SHOWMINIMIZED)
End Sub





یک نمونه کد:

Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_MINIMIZE = 6

Private Sub Command1_Click()
ShellExecute GetActiveWindow(), "Open", "http://www.google.com", "", 0&, SW_MINIMIZE
End Sub





یک نمونه کد:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_MINIMIZE = 6
Private Sub Form_Load()
ShellExecute Me.hwnd, vbNullString, "http://www.google.com", vbNullString, "C:\", SW_MINIMIZE
End Sub


این سه کد هیچکدوم عمل نمیکنن
لطفا راهنماییم کنید کارم لنگه
مرسی

amin32
پنج شنبه 27 تیر 1392, 02:59 صبح
سلام دوستان به یه مشکلی خودم
برنامه ای نوشتم که وقتی روی دکمه کلیک میکنم سایت google رو باز میکنه.
حالا وقتی روی دکمه کلیک کردم سایت به صورت max باز میشه. هرکاری میکنم mix باز بشه نمیشه. و اینکه میخوام به هر اندازه ای که خواستم مثلا 800*600 باز بشه. میشه کاریش کرد؟
1- صفحه به صورت minimize باز بشه
2- صغحه با اندازه دستی که بهش دادم باز بشه
3-صفحه ار نقطه ای که خواستم تو مانیتورم باز بشه،باز بشه مثلا راست پایین یا بالا چپ!

دوستان اگه میشه سریعتر پاسخ بدید :کف:
مرسی :بوس:

ظاهرا شما قصد ایجاد popup رو دارید. اگر مینیمایز شدن براتون مهم نباشه , یک راهی هست که موارد دیگه رو انجام میده. البته به جای مینیمایز میتونید پنجره مرورگر رو پشت پنجره برنامتون قرار بدید.
اول یک فایل html با کد زیر در کنار فایل اجرایی یا فایلهای پروژه ایجاد کنید.


<body onload="Popup();">
<script language="JavaScript">
function Popup()
{
var newwin =window.open("http://google.com",'_blank','top=50,left=50,height=525,width=600,scr ollbars=yes,resizable=yes');
newwin.blur();
window.focus();
}
</script>


حالا در محیط vb6 کامپوننت Microsoft internet controls رو فعال کنید (از قسمت کامپوننتها) و یک کنترل WebBrowser به برنامه اضافه کنید. میتونید اندازش رو تا حدی کوچک کنید که دیده نشه اما visable رو False نکنید. با فرض اینکه اسم فایل رو test.html قرار دادید, از کد زیر برای نمایش پنجره popup استفاده کنید.


WebBrowser1.Navigate App.Path & "\test.html"

و تمام...

در کد html به راحتی میتونید top , left, height ,width پنجره popup رو تنظیم کنید و یا آدرس صفحه رو تغییر بدید.

R2du-soft
پنج شنبه 27 تیر 1392, 11:56 صبح
ممنون amin32 (http://barnamenevis.org/member.php?162007-amin32) جان اما من نمیخوام کنار فایل برنامم هیچ فایلی باشه میخوام تماما با کدنویسی داخل فایلم باشه :گریه:
راه های دیگه ای نداره؟!

amin32
پنج شنبه 27 تیر 1392, 13:59 عصر
ممنون amin32 (http://barnamenevis.org/member.php?162007-amin32) جان اما من نمیخوام کنار فایل برنامم هیچ فایلی باشه میخوام تماما با کدنویسی داخل فایلم باشه :گریه:
راه های دیگه ای نداره؟!


چرا یک راه دیگه استفاده از شی IE هست. با این روش میتونید حتی پنجره رو مینیمایز کنید. ولی روش اولی که گفتم روی زبانها و محیطهای مختلف جواب میده! فقط کافی هست که به کنترل browser دسترسی داشته باشید.


Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWMINIMIZED = 2
Private Sub Form_Load()
Set ie = CreateObject("internetexplorer.application")
ie.Top = 5
ie.Left = 80
ie.Width = 1194
ie.Height = 955
ie.navigate "www.google.com (http://www.google.com)"
ie.Visible = True
ie.AddressBar = False
apiShowWindow ie.hwnd, SW_SHOWMINIMIZED
End Sub

R2du-soft
پنج شنبه 27 تیر 1392, 16:55 عصر
مرسی عزیز این کد عالی هست،فقط یه سوال دیگه:
میشه به صورت tab هم باز کرد؟
یهنی مثلا google و yahoo و gmail رو تو یه صفحه از ie و در 3 تب باز کرد که هر صفحه در یک ie باز نشه؟!
و از قسمت


ie.navigate "<a href="http://www.google.com" target="_blank">www.google.com</a>"


خطا گرفته میشه!

amin32
پنج شنبه 27 تیر 1392, 17:28 عصر
مرسی عزیز این کد عالی هست،فقط یه سوال دیگه:
میشه به صورت tab هم باز کرد؟
یهنی مثلا google و yahoo و gmail رو تو یه صفحه از ie و در 3 تب باز کرد که هر صفحه در یک ie باز نشه؟!
و از قسمت


ie.navigate "<a href="http://www.google.com" target="_blank">www.google.com</a>"


خطا گرفته میشه!

بهتره از تب بندی استفاده نکنید. در مورد خطا هم دلیلش به هم ریختگی کد هست. در اصل اون خط باید به این شکل باشه:

ie.navigate "آدرس سایت"


البته برای تب بندی هم یک راه وجود داره ولی در ویندوز 8 و IE 9 یک مقداری به هم میریزه! به این شکل.


Private Declare Sub VariantChangeType Lib "oleaut32" (Destination, Source, ByVal wFlags As Long, ByVal vt As VbVarType)
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_SHOWMINIMIZED = 2
Private Sub Form_Load()
Set ie = CreateObject("internetexplorer.application")
ie.Top = 5
ie.Left = 80
ie.Width = 1194
ie.Height = 955
Dim h As Variant
h = CInt(&H800)
Call VariantChangeType(h, h, 0, vbLong)
Call ie.Navigate("آدرس سایت1")
Call ie.Navigate("آدرس سایت2", h)
Call ie.Navigate("آدرس سایت3", h)
ie.Visible = True
ie.AddressBar = False
apiShowWindow ie.hwnd, SW_SHOWMINIMIZED
End Sub

R2du-soft
شنبه 29 تیر 1392, 17:28 عصر
میشه کاری هم کرد که با مرورگر پیشفرض ویندوز بازبشه؟

amin32
شنبه 29 تیر 1392, 23:13 عصر
میشه کاری هم کرد که با مرورگر پیشفرض ویندوز بازبشه؟

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