nilosgr Δημοσ. 18 Αυγούστου 2011 Δημοσ. 18 Αυγούστου 2011 Δεν έχω ασχοληθεί ποτέ με αυτό το πρόβλημα αλλά έχω ένα πρόγραμμα για αντιγραφή της οθόνης. > $INCLUDE "RAPIDQ.INC" DECLARE FUNCTION Setfocus Lib "user32" Alias "SetFocus"(hwnd As Long) AS LONG DECLARE FUNCTION GetActiveWindow Lib "user32" ALIAS "GetActiveWindow"() As Long DECLARE FUNCTION GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, _ ByVal lpString As String, ByVal cch As Long) As Long DECLARE FUNCTION GetWindowDC LIB "user32" ALIAS "GetWindowDC"_ (hWnd AS LONG) AS LONG DECLARE FUNCTION BitBlt LIB "gdi32" ALIAS "BitBlt" _ (hDC AS LONG, nXDest AS LONG, nYDest AS LONG, _ nWidth AS LONG, nHeight AS LONG, hDCSrc AS LONG, _ nXSrc AS LONG, nYSrc AS LONG, dwRop AS LONG) AS LONG DECLARE FUNCTION ReleaseDC LIB "user32" ALIAS "ReleaseDC"_ (hWnd AS LONG, hDC AS LONG) AS LONG DECLARE SUB Copy_btn_click (Sender AS QBUTTON) CONST SRCCOPY = &HCC0020 DIM hWnd as LONG DIM DC AS LONG DIM Bitmap AS QBITMAP DIM SaveFile AS STRING DIM i AS INTEGER, j AS INTEGER DIM CaptureFile AS STRING CaptureFile = "Capture01.bmp" DIM backcolor AS LONG backcolor = &HFFFFFF CREATE Form AS QFORM Caption = "Rapid-Q, Screen Capture Program" Left = 0 Top = 0 Width = 320 Height = 120 Color = backcolor WindowState = 0 BorderStyle = 1 delBorderIcons(2) CREATE Image1 AS QIMAGE Left = 0 Top = 0 Width = 30 Height = 30 Visible = 0 END CREATE CREATE Label1 AS QLABEL Caption = "Save screen as :" Left = 10 Top = 16 Width = 80 Height = 30 END CREATE CREATE Edit1 AS QEDIT Text = CURDIR$+"\\" Left = 95 Top = 16 Width = 200 Height = 30 END CREATE CREATE Button1 AS QBUTTON Caption = "Ok" Left = 10 Top = 48 OnClick = Copy_btn_click END CREATE END CREATE Edit1.text = Edit1.Text + CaptureFile SetFocus(Button1.Handle) Form.ShowModal SUB Copy_btn_click (Sender AS QBUTTON) Button1.Visible = 0 Label1.Visible = 0 Edit1.Visible = 0 Form.Visible = 0 For i = Form.Left to Form.Left + Form.ClientWidth For j = Form.Top to Form.Top + Form.ClientHeight Next Next hWnd = GetDesktopWindow() DC = GetWindowDC(hWnd) Bitmap.Width = Screen.Width Bitmap.Height = Screen.Height BitBlt(Bitmap.Handle, 0, 0, Bitmap.Width, Bitmap.Height, DC, 0, 0, SRCCOPY) ReleaseDC(hWnd, DC) SaveFile = Edit1.Text bitmap.SaveToFile(SaveFile) Image1.Autosize=1 Image1.Visible=1 Image1.BMP= Edit1.text Form.Caption = "Bitmap file, " + Edit1.text Form.BorderStyle = 2 Form.Visible=1 END SUB Κάπως έτσι αντιγράφεις την εικόνα > SUB Copy_Click for i=Image1.left to Image1.left+Image1.Width for j=Image1.top to Image1.top+Image1.Height if j<Image1.top+Image1.Height and i<Image1.left+Image1.Width then z%=doevents() Richedit1.addstrings "p(" +str$(cnt_line)+ ")=" +chr$(34)+str$(Form.Pixel(i,j))+chr$(34) p(cnt_line)=str$(Form.Pixel(i,j)) cnt_line = cnt_line+1 Form.Pixel(i,j) = &HFFFFFF end if next next END SUB και έτσι θα κάνεις redraw > SUB Redraw k=0 for i=Image1.left to Image1.left+Image1.Width-1 for j=Image1.top to Image1.top+Image1.Height-1 Form.Pixel(i,j) = val(p(k)) k=k+1 next next END SUB Αυτο δεν ειναι C... (μαλλον ειναι VB, και νομιζω εχει κι ενα syntx error, το οποιο και διωρθωσα ) ΥΓ: Γιατι δεν υπαρχει κουμπακι για spoiler tag στον message editor?!
adamco Δημοσ. 18 Αυγούστου 2011 Δημοσ. 18 Αυγούστου 2011 Αυτο δεν ειναι C... (μαλλον ειναι VB, και νομιζω εχει κι ενα syntx error, το οποιο και διωρθωσα ) ΥΓ: Γιατι δεν υπαρχει κουμπακι για spoiler tag στον message editor?! Το ξέρω ότι δεν είναι C... δεν είναι σίγουρα πρόγραμμα χωρίς bugs αλλά το σημαντικό είναι ότι λειτουργεί σε περιβάλλον Windows και ίσως να τον βοηθήσει να λύσει το πρόβλημά του. Εκτός αν ο koslibpro δουλεύει με Linux και θέλει πρόγραμμα σε C και όχι σε C++ για Windows. ΥΓ: Δεν ξέρω γιατί δεν έχει ο message editor αυτό το κουμπάκι. Ίσως να θέλει αλλαγή ο browser.
koslibpro Δημοσ. 18 Αυγούστου 2011 Μέλος Δημοσ. 18 Αυγούστου 2011 Το ξέρω ότι δεν είναι C... δεν είναι σίγουρα πρόγραμμα χωρίς bugs αλλά το σημαντικό είναι ότι λειτουργεί σε περιβάλλον Windows και ίσως να τον βοηθήσει να λύσει το πρόβλημά του. Εκτός αν ο koslibpro δουλεύει με Linux και θέλει πρόγραμμα σε C και όχι σε C++ για Windows. ΥΓ: Δεν ξέρω γιατί δεν έχει ο message editor αυτό το κουμπάκι. Ίσως να θέλει αλλαγή ο browser. Καλησπερες.ακριβως,δουλευω μονο με ubuntu οποτε δεν με βοηθαει και πολυ αυτος ο κωδικας.. Ευχαριστω ομως και επισης καθε επομενη βοηθεια ειναι καλοδεχουμενη
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.