史萊姆論壇

返回   史萊姆論壇 > 綜合討論二區 > 生活話題、日常閒聊、喇勒唬爛灌水區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』


發文 回覆
 
主題工具 顯示模式
舊 2017-06-28, 09:08 PM   #1 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時
註冊日期: 2002-12-07
文章: 13489
精華: 0
現金: 26851 金幣
資產: 3024781 金幣
預設

以前在WinXP+VB6 時有接觸過螢幕截圖
找了一下還蠻單純的

使用三個 WinAPI
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long

程式碼:
PHP 語法:
Private Sub mCopyScreen_Click()

    
Dim hDC As Longsx As Integersy As Integer
    
    Me
.Hide
    DoEvents    
' 若不執行此一敘述,可讓 Me.Hide 不會即時被執行
    
    picCopy.Width = Screen.Width
    picCopy.Height = Screen.Height
    
    picCopy.AutoRedraw = True
    
    ' 
圖像的轉移
    hDC 
GetDC(0)                              ' 取得螢幕DC
    sx = Screen.Width \ Screen.TwipsPerPixelX   ' 
螢幕寬度(以Pixel為單位)
    
sy Screen.Height Screen.TwipsPerPixelY  ' 螢幕高度(以Pixel為單位)
    ' 
將螢幕DC的圖像轉移到名稱為picCopy的PictureBox中
    BitBlt picCopy
.hDC00sxsyhDC00vbSrcCopy
    ReleaseDC 0
hDC                            ' 釋放螢幕DC
    
    picCopy.AutoRedraw = False
    
    SetPicture      ' 
設定 PictureBox 與捲動軸之間的關係
    Me
.Show

End Sub 
(試了一下在Windows 10依舊可執行)

只要看得懂要翻譯成C/C++應該很簡單

HyperSnap 除了截圖
就是喜好他的畫箭頭與文字框
拿來製作簡單的說明用圖解很好用
不過覺得要用向量製圖還是首推
Corel Draw 或 Adobe Illustrator
只是屬於大型套裝軟體開啟速度不如HyperSnap
所以目前還是偏好HyperSnap
mini 目前離線  
送花文章: 2054, 收花文章: 8068 篇, 收花: 26920 次
回覆時引用此帖
向 mini 送花的會員:
魔術王子 (2017-06-28)
感謝您發表一篇好文章
舊 2017-06-28, 09:20 PM   #2 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3050
精華: 0
現金: 15225 金幣
資產: 2678855 金幣
預設

有這麼好用的語法喔
這是用vb 2008完全不用引用API
PHP 語法:
        Me.Hide()
        
Dim dt As Double My.Computer.Clock.TickCount
        
While My.Computer.Clock.TickCount dt 1000
            My
.Application.DoEvents()
        
End While
        
Dim g As Graphics
        Dim bmp 
As Bitmap
        bmp 
= New Bitmap(My.Computer.Screen.Bounds.WidthMy.Computer.Screen.Bounds.Height)
        
Graphics.FromImage(bmp)
        
g.CopyFromScreen(New Point(00), New Point(00), New Size(My.Computer.Screen.Bounds.WidthMy.Computer.Screen.Bounds.Height))
        
g.Dispose()
        
'Dim i As Integer = 1
        '
While (My.Computer.FileSystem.FileExists(My.Computer.FileSystem.SpecialDirectories.Desktop "\ToyAide" ".jpg"))
        
' i += 1
        ' 
End While
        
' bmp.Save(My.Computer.FileSystem.SpecialDirectories.Desktop & "\ToyAide" & i & ".jpg")
        '
PictureBox1.Image bmp
        Me
.Show()
        
PictureBox1.Image bmp 
當然這是從網路上找到的,另外.NET還有圖片翻轉功能
PHP 語法:
        If PictureBox1.Image IsNot Nothing Then
            Dim Img 
As Image PictureBox1.Image
            Img
.RotateFlip(RotateFlipType.Rotate270FlipNone)
            
PictureBox1.Image Img
            Img 
Nothing
            ImageSize
()
        
End If 
再附加尺寸縮小語法
PHP 語法:
        ' If My.Computer.Clipboard.ContainsImage Then
        ' 
Get the scale factor.
        
Dim scale_factor As Single 0.5 'Single.Parse(txtScale.Text)

        ' 
Get the source bitmap.
        
Dim bm_source As New Bitmap(PictureBox1.Image)

        
' Make a bitmap for the result.
        Dim bm_dest As New Bitmap(CInt(bm_source.Width * scale_factor), CInt(bm_source.Height * scale_factor))

        ' 
Make a Graphics object for the result Bitmap.
        
Dim gr_dest As Graphics Graphics.FromImage(bm_dest)

        
' Copy the source image into the destination bitmap.
        gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + 1, bm_dest.Height + 1)

        ' 
Display the result.
        
' My.Computer.Clipboard.SetImage(bm_dest)
        ' 
PictureBox1.Image My.Computer.Clipboard.GetImage
        
'PictureBox1.Image = bm_dest
        '  
End If
        
PictureBox1.Image bm_dest
        ImageSize
() 
__________________
『唸金母心咒:嗡。金母。悉地。吽。』
持此咒者,可免一切瘟疫,一切瘟神抱頭四散。

魔術就是欣賞神奇的效果
如果魔術的秘密被破解了
那魔術就失去欣賞的價值
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
向 魔術王子 送花的會員:
mini (2017-06-28)
感謝您發表一篇好文章
舊 2017-06-28, 09:22 PM   #3 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3050
精華: 0
現金: 15225 金幣
資產: 2678855 金幣
預設

這是BCB用API的程式碼而且還利用GetCursorInfo()取得游標資訊,加入游標,這部分在.NET還找不到程式碼
PHP 語法:
    ShowWindow(Application->Handle,SW_HIDE);
    
ShowWindow(Handle,SW_HIDE);
  
//  Application->ProcessMessages();
    
DWORD bt;
    
bt=GetTickCount();
    do {
      
Application->ProcessMessages();
    } while (
GetTickCount()-bt<(Edit2->Text.ToInt()*1000));
    
HDC ScrDC;
    
TRect R;
    
HWND Wnd=GetDesktopWindow();
    
ScrDC=GetWindowDC(Wnd);
    
GetWindowRect(Wnd, &R);
    
ImageBmp->Width R.right;
    
ImageBmp->Height R.bottom;
    
BitBlt(ImageBmp->Canvas->Handle00R.rightR.bottomScrDC00SRCCOPY);
    if(
CheckBox1->Checked){
      
CURSORINFO ci;
      
ci.cbSize=sizeof(CURSORINFO);
      
GetCursorInfo(&ci);
      
POINT pt;
      
GetCursorPos(&pt);
      
DrawIcon(ImageBmp->Canvas->Handlept.xpt.yci.hCursor);
    }
    
ReleaseDC(WndScrDC);
    
float sf=(float)ImageBmp->Width/(float)ScrollBox1->ClientRect.right;
    
Image1->Width=ImageBmp->Width/sf;
    
Image1->Height=ImageBmp->Height/sf;
    
Image1->Picture->Assign(ImageBmp);
    
Image1->Refresh();
    
ShowWindow(Application->Handle,SW_NORMAL);
    
ShowWindow(Handle,SW_NORMAL); 
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
舊 2017-06-28, 11:09 PM   #4 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時級別:98 | 在線時長:10164小時 | 升級還需:33小時
註冊日期: 2002-12-07
文章: 13489
精華: 0
現金: 26851 金幣
資產: 3024781 金幣
預設

抓游標?
取得游標的座標後
再把 游標的圖 事後合成上去就可以了
(應該是這樣...?)
mini 目前離線  
送花文章: 2054, 收花文章: 8068 篇, 收花: 26920 次
回覆時引用此帖
向 mini 送花的會員:
魔術王子 (2017-06-29)
感謝您發表一篇好文章
舊 2017-06-29, 06:38 AM   #5 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3050
精華: 0
現金: 15225 金幣
資產: 2678855 金幣
預設

引用:
作者: mini 查看文章
抓游標?
取得游標的座標後
再把 游標的圖 事後合成上去就可以了
(應該是這樣...?)
我這兩天使用HyperSnap後發現,HyperSanap一啟動會先將剪貼簿清除
然後監視剪貼簿,只要有人按下PrtScr鍵,程式就會將資料取出,加入游標,顯示出來
或將自己隱藏,重新擷取畫面,加入游標
因為程式是"執行中",所以不需要將資料再存回剪貼簿
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
舊 2017-06-29, 11:10 AM   #6 (permalink)
長老會員
 
ppp0600 的頭像
榮譽勳章
UID - 19602
在線等級: 級別:72 | 在線時長:5527小時 | 升級還需:94小時級別:72 | 在線時長:5527小時 | 升級還需:94小時
註冊日期: 2002-12-30
住址: 混亂地獄
文章: 10322
精華: 0
現金: 459 金幣
資產: 233164389 金幣
預設

想請問可有簡單的網頁版通訊錄管理
ppp0600 目前離線  
送花文章: 26748, 收花文章: 7718 篇, 收花: 38431 次
回覆時引用此帖
向 ppp0600 送花的會員:
魔術王子 (2017-06-29)
感謝您發表一篇好文章
舊 2017-06-29, 11:49 AM   #7 (permalink)
論壇主管
 
不飛 的頭像
榮譽勳章
UID - 236817
在線等級: 級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時級別:212 | 在線時長:45947小時 | 升級還需:274小時
註冊日期: 2002-12-05
VIP期限: 無限期
住址: 鄭燮之板橋
文章: 14345
現金: 13161 金幣
資產: 2914062 金幣
預設

引用:
作者: ppp0600 查看文章
想請問可有簡單的網頁版通訊錄管理
Gmail 通訊錄就口已的啦.....

安卓手機 換機換號 不用煩惱,直接從 Gmail 通訊錄下載聯絡人即可。
__________________
不飛的不飛 ... 因為曾經端座在雲霄之上 ... 所以不飛 ,
因為期待您能與不飛抬頭共列翱翔天昊 ... 所以更是不飛 !

不飛不想飛 ... 畢竟殘破雙翼在苔階沾濕 ... 所以低頭 ,
只好安靜地蹲在這練習 ... 學習要如何才能飛的更高更遠 !

不飛不曾飛 ... 終於知道青澀期代表蒼狗 ... 所以情殤 ,
一甲子的意境等於六十年的期盼的凝固 ... 所以就此棲巢 !
不飛 目前離線  
送花文章: 959, 收花文章: 7607 篇, 收花: 53000 次
回覆時引用此帖
有 2 位會員向 不飛 送花:
ppp0600 (2017-06-29),魔術王子 (2017-06-29)
感謝您發表一篇好文章
舊 2017-06-29, 08:01 PM   #8 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3050
精華: 0
現金: 15225 金幣
資產: 2678855 金幣
預設

引用:
作者: ppp0600 查看文章
想請問可有簡單的網頁版通訊錄管理
為了脫離電腦領域,只要跟網頁有關的程式設計小弟一概不碰
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
舊 2017-06-29, 01:31 AM   #9 (permalink)
管理員
 
getter 的頭像
榮譽勳章
UID - 6433
在線等級: 級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時級別:96 | 在線時長:9733小時 | 升級還需:64小時
註冊日期: 2002-12-08
住址: 天線星球
文章: 8157
精華: 0
現金: 19955 金幣
資產: 765391 金幣
預設

迪西都用 FSCapture 免費版的說 ...,該有的功能都有 ...

DOS 時代則是用遊戲修改工具內附的抓圖工具 ...
__________________
在「專業主討論區」中的問題解決後,要記得按一下 http://forum.slime.com.tw/images/stamps/is_solved.gif 按鈕喔,
這是一種禮貌動作。

一樣是在「專業主討論區」中發問,不管問題解決與否,都要回應別人的回答文喔。
不然搞 [斷頭文],只看不回應,下次被別人列入黑名單就不要怪人喔。

天線寶寶說再見啦~ ... 天線寶寶說再見啦~

迪西:「再見~ 再見~」

Otaku Culture Party 關心您 ...
getter 目前離線  
送花文章: 37855, 收花文章: 6441 篇, 收花: 26052 次
回覆時引用此帖
向 getter 送花的會員:
魔術王子 (2017-06-29)
感謝您發表一篇好文章
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
請問有能介紹一下電腦硬體裝修"乙級技術士內容 editer0246 硬體疑難使用問題討論區 7 2003-09-02 05:00 PM
有沒有辦法"網路"控制 vincent3358 一般電腦疑難討論區 0 2003-08-30 02:36 PM
求助一台"完全能破防烤"的燒錄器 geneming 硬體疑難使用問題討論區 8 2003-08-30 01:13 PM


所有時間均為台北時間。現在的時間是 01:40 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1