ช่วยสอนใช้คำสั่งfilesavedialog หน่อยครับต้องการเซฟไฟล์จากclipbroad
5 posters
เซฟคลิปบอร์ดไฟล์ยังไงครับ เซฟภาพหน้าจอลงไฟล์
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
เซฟคลิปบอร์ดลงไฟล์ ใช้ filewrite ไปเลยก็ได้ครับ
- Code:
filewrite ("savetext.txt",clipget())
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
ถ้าต้องการเซฟเป็น .jpg ไฟล์รูปภาพได้หรือเปล่าครับ
คือต้องการทำโปรแกรมจับภาพหน้าจอ
ทำฟอมร์มีปุ่มกด2ปุ่ม กดปุ่ดแรก
จะส่งคีย์ Send("{PRINTSCREEN}")
แล้วก็จะSaveรูปออกมาจาก clipbroad
ติดตรงคำสั่งเซฟรูปออกมาจาก คลิปบอร์ด
น่าจะใช้filesavedialogได้แต่ยังใช่คำสั่งนี้ไม่เป็น
ลองแก้ไปมาก็ยังไม่ได้
แต่เห็นในautoitมีคำสั่งเกี่ยวกับclipbroad
เยอะแต่ไม่เห็นมีอันไหนเกี่ยวกับการเซฟไฟล์รูปภาพ
ช่วยแนะนำทีครับ
คือต้องการทำโปรแกรมจับภาพหน้าจอ
ทำฟอมร์มีปุ่มกด2ปุ่ม กดปุ่ดแรก
จะส่งคีย์ Send("{PRINTSCREEN}")
แล้วก็จะSaveรูปออกมาจาก clipbroad
ติดตรงคำสั่งเซฟรูปออกมาจาก คลิปบอร์ด
น่าจะใช้filesavedialogได้แต่ยังใช่คำสั่งนี้ไม่เป็น
ลองแก้ไปมาก็ยังไม่ได้
แต่เห็นในautoitมีคำสั่งเกี่ยวกับclipbroad
เยอะแต่ไม่เห็นมีอันไหนเกี่ยวกับการเซฟไฟล์รูปภาพ
ช่วยแนะนำทีครับ
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
ดูคำสั่ง _ScreenCapture_Capture กับ _ScreenCapture_SaveImage
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
สนใจ case นี้มากเลยครับเลยลองเขียนโปรแกรมดู
ท่าน Admin ช่วยแก้ไขให้หน่อยครับ
แล้วก็กด PrintScr จับทั้งหน้าจอน่ะครับ
ท่าน Admin ช่วยแก้ไขให้หน่อยครับ
- Code:
#Include <ScreenCapture.au3>
HotKeySet("{PRINTSCREEN}", "_SavePic")
HotKeySet("!{PRINTSCREEN}", "_SavePic2")
While 1
Sleep(10)
WEnd
Func _SavePic()
_ScreenCapture_Capture(FileSaveDialog("SavePic", @DesktopDir, "Image (*.JPG)") & ".JPG")
EndFunc
Func _SavePic2()
_ScreenCapture_Capture(FileSaveDialog("SavePic", @DesktopDir, "Image (*.JPG)") & ".JPG", 0, 0, -1, -1)
EndFunc
แล้วก็กด PrintScr จับทั้งหน้าจอน่ะครับ
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
ขอบคุณครับผมลองดัดแปลงดูแบบสั้นๆ
เฉพาะที่ Active
#Include <ScreenCapture.au3>
$x = @MIN&@MSEC
$Active = WinActive("")
_ScreenCapture_CaptureWnd(@Desktop&"\test"&$x&".jpg", $Active)
ทั้งหน้าจอ
#Include <ScreenCapture.au3>
$x = @MIN&@MSEC
$hBmp = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(DesktopDir&"\test"&$x&".jpg", $hBmp)
เฉพาะที่ Active
#Include <ScreenCapture.au3>
$x = @MIN&@MSEC
$Active = WinActive("")
_ScreenCapture_CaptureWnd(@Desktop&"\test"&$x&".jpg", $Active)
ทั้งหน้าจอ
#Include <ScreenCapture.au3>
$x = @MIN&@MSEC
$hBmp = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(DesktopDir&"\test"&$x&".jpg", $hBmp)
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
#include <ScreenCapture.au3>
HotKeySet("{PRINTSCREEN}","Save_1")
HotKeySet("!{PRINTSCREEN}","Save_2")
HotKeySet("{ESC}", "STOP")
While 1
Sleep(10)
Wend
Func Save_1()
Local $Active
$Active = WinActive("")
_ScreenCapture_CaptureWnd(@DesktopDir&"\test_Image"&@MIN&@MSEC&".jpg", $Active)
EndFunc
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(@DesktopDir&"\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
Func STOP()
Exit
EndFunc
ok
HotKeySet("{PRINTSCREEN}","Save_1")
HotKeySet("!{PRINTSCREEN}","Save_2")
HotKeySet("{ESC}", "STOP")
While 1
Sleep(10)
Wend
Func Save_1()
Local $Active
$Active = WinActive("")
_ScreenCapture_CaptureWnd(@DesktopDir&"\test_Image"&@MIN&@MSEC&".jpg", $Active)
EndFunc
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(@DesktopDir&"\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
Func STOP()
Exit
EndFunc
ok
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
แก้ตรง Func stop()
- Code:
Func stop()
If MsgBox(262180,"EXIT?","คุณต้องการออกจากโปรแกรมหรือไม่?") = 6 Then Exit
EndFunc
Fast- PSsix Member Super Class III
-
จำนวนข้อความ : 217
ความนิยม : 54
เข้าร่วมเมื่อ : 19/06/2011
อยากได้เซฟภาพบางโปรแกรมเปิดวินโดวโปรแกรมก็เปิดเองเลย เอาไว้เซฟตอนคนแอบมาเล่นเอม
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
ประมาณนี้ได้มั้ยครับFast พิมพ์ว่า:อยากได้เซฟภาพบางโปรแกรมเปิดวินโดวโปรแกรมก็เปิดเองเลย เอาไว้เซฟตอนคนแอบมาเล่นเอม
- Code:
RegWrite("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "SavePic", "REG_SZ", @ScriptFullPath)
While 1
Sleep(5000)
$Name = @MDAY & @MON & @HOUR & @MIN & @MIN
Local $Active
$Active = WinActive("")
_ScreenCapture_CaptureWnd(@MyDocumentsDir & "\SavePic\" & $Name, $Active)
WEnd
ปล.ยังไม่ได้ Test เลย
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
เพิ่ม if ตรวจสอบเงื่อนไขเข้าไปด้วยนะครับไม่อย่างนั้นรูปเต็มเครื่องแน่
While 1
sleep(5000)
if ProcessExists("iexplore.exe") Then ;ถ้าเปิดโปรแกรม IE
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(@DesktopDir&"\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
ถ้าเปิด IE โปรแกรมจะจับภาพทุก5วินาทีจนกว่าจะปิดโปรแกรม IE
หรือจะใช้ WinExists("ข้อความบนหน้าต่าง")
ก็ได้นะครับลองดัดแปลงดู
While 1
sleep(5000)
if ProcessExists("iexplore.exe") Then ;ถ้าเปิดโปรแกรม IE
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage(@DesktopDir&"\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
ถ้าเปิด IE โปรแกรมจะจับภาพทุก5วินาทีจนกว่าจะปิดโปรแกรม IE
หรือจะใช้ WinExists("ข้อความบนหน้าต่าง")
ก็ได้นะครับลองดัดแปลงดู
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
ok ครับ
loveapple244- PSsix Member Super Class II
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011
โหขนาดไม่เก่งนะเนี้ย Armสอบทุกตัวแปลได้เลยนะเนี้ย
Fast- PSsix Member Super Class III
-
จำนวนข้อความ : 217
ความนิยม : 54
เข้าร่วมเมื่อ : 19/06/2011
ทำได้ละขอบคุรครับ
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
พวกคำสั่ง PixelGetColor กับ PixelSearch หรือที่ยากกว่านี้ก็ยังไม่ค่อยจะเป็นเลยครับloveapple244 พิมพ์ว่า:โหขนาดไม่เก่งนะเนี้ย Armสอบทุกตัวแปลได้เลยนะเนี้ย
คงต้องเรียนรู้กันต่อไป ^^
Fast- PSsix Member Super Class III
-
จำนวนข้อความ : 217
ความนิยม : 54
เข้าร่วมเมื่อ : 19/06/2011
เซฟสองโปรแกรม
#include <ScreenCapture.au3>
While 1
sleep(5000)
if ProcessExists("iexplore.exe") Then ;ถ้าเปิดโปรแกรม IE
Save_2()
EndIf
if ProcessExists("msnmsgr.exe") Then
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("c:\save\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
#include <ScreenCapture.au3>
While 1
sleep(5000)
if ProcessExists("iexplore.exe") Then ;ถ้าเปิดโปรแกรม IE
Save_2()
EndIf
if ProcessExists("msnmsgr.exe") Then
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("c:\save\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
ถ้าใช้บราวเซอร์ กูเกิลโครม หรือ ไฟร์ฟอกร์ เล่นmsn
โปรแกรมน่าจะจับภาพไม่ได้นะครับ
ผมว่าใช้ WinExists ดีกว่านะครับ
โปรแกรมน่าจะจับภาพไม่ได้นะครับ
ผมว่าใช้ WinExists ดีกว่านะครับ
Arm- PSsix Member Super Class III
-
จำนวนข้อความ : 268
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 27
- Code:
#include <ScreenCapture.au3>
While 1
sleep(5000)
if WinExists("iexplore.exe") Then
Save_2()
EndIf
if WinExists("msnmsgr.exe") Then
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("c:\save\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
#include <ScreenCapture.au3>
While 1
sleep(5000)
If Not FileExists("C:\save") Then
DirCreate("C:\save")
EndIf
If WinExists("Google") Then
Save_2()
MsgBox(0,"Test","welcome to google")
EndIf
If ProcessExists("msnmsgr.exe") Then
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("c:\save\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
ลองเข้า google ดูนะครับ ลองเอาไปแก้ไขดู
While 1
sleep(5000)
If Not FileExists("C:\save") Then
DirCreate("C:\save")
EndIf
If WinExists("Google") Then
Save_2()
MsgBox(0,"Test","welcome to google")
EndIf
If ProcessExists("msnmsgr.exe") Then
Save_2()
EndIf
WEnd
Func Save_2()
Local $Save1
$Save1 = _ScreenCapture_Capture("")
_ScreenCapture_SaveImage("c:\save\test_Imaqe"&@MIN&@MSEC&".jpg", $Save1)
EndFunc
ลองเข้า google ดูนะครับ ลองเอาไปแก้ไขดู
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
While 1
sleep(3000)
If WinExists("pantip") Then
MsgBox(0,"Test","เราไม่อนุญาตให้เข้าเว็บ pantip")
Do
ProcessClose("iexplore.exe")
Until ProcessExists("iexplore.exe") = 0
EndIf
sleep(3000)
If WinExists("pantip") Then
MsgBox(0,"Test","เราไม่อนุญาตให้เข้าเว็บ pantip")
Do
ProcessClose("iexplore.exe")
Until ProcessExists("iexplore.exe") = 0
EndIf
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
ขอบคุณท่านแอดมินที่ให้คำแนะนำ ถ้าเราจะพัฒนาโปรแกรมจับภาพหน้าจอให้สามารถจับภาพเคลื่อนไหวบนหน้าจอแล้วบันทึกเป็นวีดีโอโดยใช้autoit ขอคำแนะนำหน่อยครับ
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
นี่ครับ [You must be registered and logged in to see this link.]
ต้องติดตั้ง FFMPEG เพื่อบีบอัดภาพด้วย (อยู่ในลิงก์ด้านบนแล้ว)
ต้องติดตั้ง FFMPEG เพื่อบีบอัดภาพด้วย (อยู่ในลิงก์ด้านบนแล้ว)
Monaliza- PSsix Member Super Class III
จำนวนข้อความ : 213
ความนิยม : 7
เข้าร่วมเมื่อ : 03/10/2010
ขอบคุณครับ
|
|