ฟอรั่มของบล็อก http://pssix.blogspot.com


สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

Share

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 30/08/11, 05:41 pm

สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ
(ย้ำน่ะจ๊ะ เอาtitle bar จาก โปรแกรมน่ะครับ ไม่เอา Ie น่ะครับ Ie ตัดได้และ )

Y ----------------------------------------------------- Y

จากโค้ดนี้ครับ

Dim $width = @DesktopWidth, $height = @DesktopHeight

run("C:\Program Files\Radmin Viewer 3\Radmin.exe")

WinMove ( "Radmin Viewer", "" ,0/$width,0/$height,$width/4,$height/4)


แก้ไขล่าสุดโดย zeedzars เมื่อ 31/08/11, 02:19 pm, ทั้งหมด 2 ครั้ง

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 01:39 pm

ผมมีโค้ดตัวอย่างแต่เอามาใช้งานกับ ของผมไม่ถูกแหะๆ

#include
#include
#include

Global $htit = _WinAPI_GetSystemMetrics($SM_CYCAPTION)
Global $frame = _WinAPI_GetSystemMetrics($SM_CXDLGFRAME)

$gui = GUICreate("Test Windows regions", 350, 210)
$btn_default = GUICtrlCreateButton("Default", 100, 30, 150)
$btn_transparent = GUICtrlCreateButton("Cut tool", 100, 60, 150)
$btn_exit = GUICtrlCreateButton("Exit", 100, 150, 150)
GUISetState(@SW_SHOW)

$pos = WinGetPos($gui)
Global $width = $pos[2]
Global $height = $pos[3]

While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $btn_exit
ExitLoop

Case $msg = $btn_default
$rgn = _WinAPI_CreateRectRgn(0, 0, $width, $height)
_WinAPI_SetWindowRgn($gui, $rgn)

Case $msg = $btn_transparent
_GuiHole($gui, 0, 0, 360, 20)

EndSelect
WEnd


Func _GuiHole($h_win, $i_x, $i_y, $i_sizew, $i_sizeh)
Local $outer_rgn, $inner_rgn, $combined_rgn

$outer_rgn = _WinAPI_CreateRectRgn(0, 0, $width, $height)
$inner_rgn = _WinAPI_CreateRectRgn($i_x, $i_y, $i_x + $i_sizew, $i_y + $i_sizeh)
$combined_rgn = _WinAPI_CreateRectRgn(0, 0, 0, 0)
_WinAPI_CombineRgn($combined_rgn, $outer_rgn, $inner_rgn, $RGN_DIFF)
_WinAPI_DeleteObject($outer_rgn)
_WinAPI_DeleteObject($inner_rgn)
_AddCtrlRegion($combined_rgn, $btn_default)
_AddCtrlRegion($combined_rgn, $btn_transparent)
_AddCtrlRegion($combined_rgn, $btn_exit)
_WinAPI_SetWindowRgn($h_win, $combined_rgn)
EndFunc


Func _AddCtrlRegion($full_rgn, $ctrl_id)
Local $ctrl_pos, $ctrl_rgn

$ctrl_pos = ControlGetPos($gui, "", $ctrl_id)
$ctrl_rgn = _WinAPI_CreateRectRgn($ctrl_pos[0] + $frame, $ctrl_pos[1] + $htit + $frame, _
$ctrl_pos[0] + $ctrl_pos[2] + $frame, $ctrl_pos[1] + $ctrl_pos[3] + $htit + $frame)
_WinAPI_CombineRgn($full_rgn, $full_rgn, $ctrl_rgn, $RGN_OR)
_WinAPI_DeleteObject($ctrl_rgn)
EndFunc

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 03:31 pm

--------------------------------------

โค้ดนี้คือสิ่งที่ผมต้องการจะตัด title bar ออกจริงๆ

ผมต้องการตัด title bar ตรง >> 10.4.0.220 - Full Control << ออกอ่ะครับ


#include

Dim $width = @DesktopWidth, $height = @DesktopHeight

run("C:\Program Files\Radmin Viewer 3\Radmin.exe")
;mathpoitn
sleep(2000)

If WinExists("Radmin Viewer") Then
WinActivate("Radmin Viewer")
Sleep(2000)
Send("{INSERT}")
Sleep(2000)
WinWait("[CLASS:#32770]")
Send("10.4.0.220")
Send("{ENTER}")
Sleep(2000)
Send("{RIGHT}")
Send("{ENTER}")

EndIf

WinMove ( "Radmin Viewer", "" ,0,0,$width/2,$height/2)
sleep(2000)


WinMove ( "Radmin security: 10.4.0.220", "" ,0,0,$width/2,$height/2)
Sleep(2000)
Send("admin")
Sleep(2000)
Send("{TAB}")
Sleep(2000)
Send("qweasdzxc")
Send("{ENTER}")

Sleep(2000)
send("{LCTRL}^{F12}")
send("{Down 9}")
send("{Enter}")
Sleep(2000)
WinMove ( "10.4.0.220 - Full Control", "" ,0,0,$width/2,$height/2)

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by POS on 31/08/11, 03:42 pm

การตัดไตเติลบาร์จะทำลายส่วนควบคุมมาตรฐานของวินโดวส์ (ทำให้ปุ่มย่อ ขยาย ปิดหน้าต่าง และแถบการลากหน้าต่าง หายไปด้วย)


Code:
#include <Constants.au3>
#include <WinApi.au3>
#include <WindowsConstants.au3>

Run("notepad")
WinWaitActive("[CLASS:Notepad]")
$hWnd = WinGetHandle("[CLASS:Notepad]")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_POPUPWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)

MsgBox(0, "", "อีกแบบ")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_EX_TOOLWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 03:50 pm

#include
#include
#include

Dim $width = @DesktopWidth, $height = @DesktopHeight

run("C:\Program Files\Radmin Viewer 3\Radmin.exe")
;mathpoitn
sleep(2000)

If WinExists("Radmin Viewer") Then
WinActivate("Radmin Viewer")
Sleep(2000)
Send("{INSERT}")
Sleep(2000)
WinWait("[CLASS:#32770]")
Send("10.4.0.220")
Send("{ENTER}")
Sleep(2000)
Send("{RIGHT}")
Send("{ENTER}")

EndIf

WinMove ( "Radmin Viewer", "" ,0,0,$width/2,$height/2)
sleep(2000)


WinMove ( "Radmin security: 10.4.0.220", "" ,0,0,$width/2,$height/2)
Sleep(2000)
Send("admin")
Sleep(2000)
Send("{TAB}")
Sleep(2000)
Send("qweasdzxc")
Send("{ENTER}")

Sleep(2000)
send("{LCTRL}^{F12}")
send("{Down 9}")
send("{Enter}")
Sleep(2000)
WinMove ( "10.4.0.220 - Full Control", "" ,0,0,$width/2,$height/2)

WinWaitActive("[CLASS:#32770]")
$hWnd = WinGetHandle("[CLASS:#32770]")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_POPUPWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)

ผมใส่ผิดตรงไหนหรอครับ ถึงไม่ตัด title bar ให้ผมอ่า Y Y


POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by POS on 31/08/11, 04:02 pm

ชื่อ class น่าจะผิด (หมายเลข 1)



จะเปลี่ยนมาใช้ชื่อไตเติลแทนก็ได้ (หมายเลข 2) ใส่ชื่อไตเติลแทนตามตำแหน่งโค้ดด้านล่างนี้

Code:


#include <Constants.au3>
#include <WinApi.au3>
#include <WindowsConstants.au3>

Run("notepad")

WinWaitActive("New Text Document.txt - Notepad")
$hWnd = WinGetHandle("New Text Document.txt - Notepad")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_POPUPWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)

MsgBox(0, "", "อีกแบบ")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_EX_TOOLWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 04:07 pm

ได้แล้วครับพี่แอดมิน แต่ มันดันตัดหลังจากที่แสดงอ่ะพี่


#include
#include
#include

Dim $width = @DesktopWidth, $height = @DesktopHeight

run("C:\Program Files\Radmin Viewer 3\Radmin.exe")
;mathpoitn
sleep(2000)

If WinExists("Radmin Viewer") Then
WinActivate("Radmin Viewer")
Sleep(2000)
Send("{INSERT}")
Sleep(2000)
WinWait("[CLASS:#32770]")
Send("10.4.0.220")
Send("{ENTER}")
Sleep(2000)
Send("{RIGHT}")
Send("{ENTER}")

EndIf

WinMove ( "Radmin Viewer", "" ,0,0,$width/2,$height/2)
sleep(2000)


WinMove ( "Radmin security: 10.4.0.220", "" ,0,0,$width/2,$height/2)
Sleep(2000)
Send("admin")
Sleep(2000)
Send("{TAB}")
Sleep(2000)
Send("qweasdzxc")
Send("{ENTER}")

Sleep(2000)
send("{LCTRL}^{F12}")
send("{Down 9}")
send("{Enter}")
Sleep(2000)


WinWait("[CLASS:#32770]")
$hWnd = WinGetHandle("10.4.0.220 - Full Control")
_WinAPI_ShowWindow($hWnd, @SW_HIDE)
_WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $WS_POPUPWINDOW)
_WinAPI_ShowWindow($hWnd, @SW_SHOW)

WinMove ( "10.4.0.220 - Full Control", "" ,0,0,$width/2,$height/2)


อยากให้พอตัดขอบเสร็จแล้วก้ทำการขยายทดแทนที่ตัดกรอบไปอ่ะครับ

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by POS on 31/08/11, 04:10 pm

สคริปต์ AutoIt ทำงานแบบลำดับขั้นตอนครับ อยากให้ขั้นตอนไหนทำงานก่อนก็ย้ายไปแถวบน (ต้องย้ายทั้งขั้นตอนอย่าย้ายสลับ)

หรือทำแบบง่ายๆ คือ ไล่เขียนขั้นตอนให้แยกการทำงานเป็นส่วนๆ ก่อน ทำเสร็จทุกส่วนแล้วค่อยนำมาเรียงต่อกันอีกทีในสคริปต์เต็มๆ


||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 04:20 pm

คือพอผมตัด title bar ออกปุป ผมก็สั่งให้มัน

WinMove ( "10.4.0.220 - Full Control", "" ,0,0,$width/2,$height/2)

แต่ผลที่ได้คือ ขนาด ความกว้างและสูง ของ โปรแกรมนั้นมันไปนับสิ่งที่โดนตัดไปด้วยอ่ะครับ มันรเลยทำให้โปรแกรมมีขอบสีขาวอ่ะครับ ด้านล่างอ่ะครับ

เฮททีทีพี://imageshack.us/photo/my-images/98/testcf.png/

zeedzars
PSsix Member
PSsix Member


จำนวนข้อความ : 29
ความนิยม : 1
เข้าร่วมเมื่อ : 26/08/2011

Re: สอบถามเรื่อง รันโปรแกรม แล้วต้องการให้ Title Bar หรือ แทบบนสุดที่่แสดงชื่อโปรแกรมหายไปครับ

ตั้งหัวข้อ by zeedzars on 31/08/11, 04:36 pm

ได้แล้วครับ คุณพี่แอดมิน

จัยดีจัง :)

ขอโทษก๊าบที่รบกวนบ่อยๆ

    เวลาขณะนี้ 24/01/17, 05:53 am