AviCap32.dll with delphi












0















I am using the following code to capture a still image from a webcam. The only thing i have is a black screen, where the image is assumed to be displayed. I checked on my pc and found four avicap32.dll in different places. Is this normal?



private
{Private declarations }
hWndC : THandle ;
CapturingAVI : bool ;

public {Public declarations } end ;

var Form1: TForm1 ;

implementation

{$R *.DFM}

const WM_CAP_START                  = WM_USER;
const WM_CAP_STOP                   = WM_CAP_START + 68;
const WM_CAP_DRIVER_CONNECT         = WM_CAP_START + 10;
const WM_CAP_DRIVER_DISCONNECT      = WM_CAP_START + 11;
const WM_CAP_SAVEDIB                = WM_CAP_START + 25;
const WM_CAP_GRAB_FRAME             = WM_CAP_START + 60;
const WM_CAP_SEQUENCE               = WM_CAP_START + 62;
const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START +  20;

function capCreateCaptureWindowA(lpszWindowName : PCHAR; dwStyle : longint; x : integer; y : integer; nWidth : integer; nHeight : integer; ParentWin  : HWND; nId : integer): HWND; STDCALL EXTERNAL 'AVICAP32.DLL';
procedure TForm1.FormCreate(Sender:TObject);
begin
CapturingAVI := false ;
hWndC := 0;
SaveDialog1.Options := [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
end ;

procedure TForm1.OpenVideoClick(Sender: TObject);
begin
hWndC := capCreateCaptureWindowA('My. Own Capture Window', WS_CHILD or WS_VISIBLE , Panel1.Left, Panel1.Top, Panel1.Width, Panel1.Height, Form1.Handle, 0);
if hWndC <> 0 then SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) ;
end ;

procedure TForm1.CloseVideoClick(Sender:TObject);
begin
if hWndC <> 0 then
begin

SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0) ;
hWndC := 0 ;

end ;

end ;

procedure TForm1.GrabFrameClick(Sender: TObject) ;

begin

if hWndC <> 0 then SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0) ;

end ;

procedure TForm1.SaveBMPClick(Sender: TObject);
begin
if hWndC <> 0 then
begin
SaveDialog1.DefaultExt := 'bmp';
SaveDialog1.Filter := 'Bitmap files. (*.bmp)|*.bmp';
if SaveDialog1.Execute then
SendMessage(hWndC, WM_CAP_SAVEDIB, 0, longint(pchar(SaveDialog1.FileName)));
end;
end;

procedure TForm1.StartAVIClick(Sender: TObject);
begin
if hWndC <> 0 then
begin
SaveDialog1.DefaultExt := 'avi';
SaveDialog1.Filter := 'AVI files (*.avi)|*.avi') ;
if SaveDialog1.Execute then
begin
CapturingAVI := true ;
SendMessage(hWndC, WM_CAP_FILE_SET_CAPTURE_FILEA,  0, Longint(pchar(SaveDialog1.FileName))) ;

SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0) ;
end;

end;

end ;

procedure TForm1.StopAVIClick(Sender: TObject);
begin

if hWndC <> 0 then
begin
SendMessage(hWndC, WM_CAP_STOP, 0, 0) ;
CapturingAVI := false ;
end ;

end ;

end`









share|improve this question





























    0















    I am using the following code to capture a still image from a webcam. The only thing i have is a black screen, where the image is assumed to be displayed. I checked on my pc and found four avicap32.dll in different places. Is this normal?



    private
    {Private declarations }
    hWndC : THandle ;
    CapturingAVI : bool ;

    public {Public declarations } end ;

    var Form1: TForm1 ;

    implementation

    {$R *.DFM}

    const WM_CAP_START                  = WM_USER;
    const WM_CAP_STOP                   = WM_CAP_START + 68;
    const WM_CAP_DRIVER_CONNECT         = WM_CAP_START + 10;
    const WM_CAP_DRIVER_DISCONNECT      = WM_CAP_START + 11;
    const WM_CAP_SAVEDIB                = WM_CAP_START + 25;
    const WM_CAP_GRAB_FRAME             = WM_CAP_START + 60;
    const WM_CAP_SEQUENCE               = WM_CAP_START + 62;
    const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START +  20;

    function capCreateCaptureWindowA(lpszWindowName : PCHAR; dwStyle : longint; x : integer; y : integer; nWidth : integer; nHeight : integer; ParentWin  : HWND; nId : integer): HWND; STDCALL EXTERNAL 'AVICAP32.DLL';
    procedure TForm1.FormCreate(Sender:TObject);
    begin
    CapturingAVI := false ;
    hWndC := 0;
    SaveDialog1.Options := [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
    end ;

    procedure TForm1.OpenVideoClick(Sender: TObject);
    begin
    hWndC := capCreateCaptureWindowA('My. Own Capture Window', WS_CHILD or WS_VISIBLE , Panel1.Left, Panel1.Top, Panel1.Width, Panel1.Height, Form1.Handle, 0);
    if hWndC <> 0 then SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) ;
    end ;

    procedure TForm1.CloseVideoClick(Sender:TObject);
    begin
    if hWndC <> 0 then
    begin

    SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0) ;
    hWndC := 0 ;

    end ;

    end ;

    procedure TForm1.GrabFrameClick(Sender: TObject) ;

    begin

    if hWndC <> 0 then SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0) ;

    end ;

    procedure TForm1.SaveBMPClick(Sender: TObject);
    begin
    if hWndC <> 0 then
    begin
    SaveDialog1.DefaultExt := 'bmp';
    SaveDialog1.Filter := 'Bitmap files. (*.bmp)|*.bmp';
    if SaveDialog1.Execute then
    SendMessage(hWndC, WM_CAP_SAVEDIB, 0, longint(pchar(SaveDialog1.FileName)));
    end;
    end;

    procedure TForm1.StartAVIClick(Sender: TObject);
    begin
    if hWndC <> 0 then
    begin
    SaveDialog1.DefaultExt := 'avi';
    SaveDialog1.Filter := 'AVI files (*.avi)|*.avi') ;
    if SaveDialog1.Execute then
    begin
    CapturingAVI := true ;
    SendMessage(hWndC, WM_CAP_FILE_SET_CAPTURE_FILEA,  0, Longint(pchar(SaveDialog1.FileName))) ;

    SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0) ;
    end;

    end;

    end ;

    procedure TForm1.StopAVIClick(Sender: TObject);
    begin

    if hWndC <> 0 then
    begin
    SendMessage(hWndC, WM_CAP_STOP, 0, 0) ;
    CapturingAVI := false ;
    end ;

    end ;

    end`









    share|improve this question



























      0












      0








      0








      I am using the following code to capture a still image from a webcam. The only thing i have is a black screen, where the image is assumed to be displayed. I checked on my pc and found four avicap32.dll in different places. Is this normal?



      private
      {Private declarations }
      hWndC : THandle ;
      CapturingAVI : bool ;

      public {Public declarations } end ;

      var Form1: TForm1 ;

      implementation

      {$R *.DFM}

      const WM_CAP_START                  = WM_USER;
      const WM_CAP_STOP                   = WM_CAP_START + 68;
      const WM_CAP_DRIVER_CONNECT         = WM_CAP_START + 10;
      const WM_CAP_DRIVER_DISCONNECT      = WM_CAP_START + 11;
      const WM_CAP_SAVEDIB                = WM_CAP_START + 25;
      const WM_CAP_GRAB_FRAME             = WM_CAP_START + 60;
      const WM_CAP_SEQUENCE               = WM_CAP_START + 62;
      const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START +  20;

      function capCreateCaptureWindowA(lpszWindowName : PCHAR; dwStyle : longint; x : integer; y : integer; nWidth : integer; nHeight : integer; ParentWin  : HWND; nId : integer): HWND; STDCALL EXTERNAL 'AVICAP32.DLL';
      procedure TForm1.FormCreate(Sender:TObject);
      begin
      CapturingAVI := false ;
      hWndC := 0;
      SaveDialog1.Options := [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
      end ;

      procedure TForm1.OpenVideoClick(Sender: TObject);
      begin
      hWndC := capCreateCaptureWindowA('My. Own Capture Window', WS_CHILD or WS_VISIBLE , Panel1.Left, Panel1.Top, Panel1.Width, Panel1.Height, Form1.Handle, 0);
      if hWndC <> 0 then SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) ;
      end ;

      procedure TForm1.CloseVideoClick(Sender:TObject);
      begin
      if hWndC <> 0 then
      begin

      SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0) ;
      hWndC := 0 ;

      end ;

      end ;

      procedure TForm1.GrabFrameClick(Sender: TObject) ;

      begin

      if hWndC <> 0 then SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0) ;

      end ;

      procedure TForm1.SaveBMPClick(Sender: TObject);
      begin
      if hWndC <> 0 then
      begin
      SaveDialog1.DefaultExt := 'bmp';
      SaveDialog1.Filter := 'Bitmap files. (*.bmp)|*.bmp';
      if SaveDialog1.Execute then
      SendMessage(hWndC, WM_CAP_SAVEDIB, 0, longint(pchar(SaveDialog1.FileName)));
      end;
      end;

      procedure TForm1.StartAVIClick(Sender: TObject);
      begin
      if hWndC <> 0 then
      begin
      SaveDialog1.DefaultExt := 'avi';
      SaveDialog1.Filter := 'AVI files (*.avi)|*.avi') ;
      if SaveDialog1.Execute then
      begin
      CapturingAVI := true ;
      SendMessage(hWndC, WM_CAP_FILE_SET_CAPTURE_FILEA,  0, Longint(pchar(SaveDialog1.FileName))) ;

      SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0) ;
      end;

      end;

      end ;

      procedure TForm1.StopAVIClick(Sender: TObject);
      begin

      if hWndC <> 0 then
      begin
      SendMessage(hWndC, WM_CAP_STOP, 0, 0) ;
      CapturingAVI := false ;
      end ;

      end ;

      end`









      share|improve this question
















      I am using the following code to capture a still image from a webcam. The only thing i have is a black screen, where the image is assumed to be displayed. I checked on my pc and found four avicap32.dll in different places. Is this normal?



      private
      {Private declarations }
      hWndC : THandle ;
      CapturingAVI : bool ;

      public {Public declarations } end ;

      var Form1: TForm1 ;

      implementation

      {$R *.DFM}

      const WM_CAP_START                  = WM_USER;
      const WM_CAP_STOP                   = WM_CAP_START + 68;
      const WM_CAP_DRIVER_CONNECT         = WM_CAP_START + 10;
      const WM_CAP_DRIVER_DISCONNECT      = WM_CAP_START + 11;
      const WM_CAP_SAVEDIB                = WM_CAP_START + 25;
      const WM_CAP_GRAB_FRAME             = WM_CAP_START + 60;
      const WM_CAP_SEQUENCE               = WM_CAP_START + 62;
      const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START +  20;

      function capCreateCaptureWindowA(lpszWindowName : PCHAR; dwStyle : longint; x : integer; y : integer; nWidth : integer; nHeight : integer; ParentWin  : HWND; nId : integer): HWND; STDCALL EXTERNAL 'AVICAP32.DLL';
      procedure TForm1.FormCreate(Sender:TObject);
      begin
      CapturingAVI := false ;
      hWndC := 0;
      SaveDialog1.Options := [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
      end ;

      procedure TForm1.OpenVideoClick(Sender: TObject);
      begin
      hWndC := capCreateCaptureWindowA('My. Own Capture Window', WS_CHILD or WS_VISIBLE , Panel1.Left, Panel1.Top, Panel1.Width, Panel1.Height, Form1.Handle, 0);
      if hWndC <> 0 then SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0) ;
      end ;

      procedure TForm1.CloseVideoClick(Sender:TObject);
      begin
      if hWndC <> 0 then
      begin

      SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0) ;
      hWndC := 0 ;

      end ;

      end ;

      procedure TForm1.GrabFrameClick(Sender: TObject) ;

      begin

      if hWndC <> 0 then SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0) ;

      end ;

      procedure TForm1.SaveBMPClick(Sender: TObject);
      begin
      if hWndC <> 0 then
      begin
      SaveDialog1.DefaultExt := 'bmp';
      SaveDialog1.Filter := 'Bitmap files. (*.bmp)|*.bmp';
      if SaveDialog1.Execute then
      SendMessage(hWndC, WM_CAP_SAVEDIB, 0, longint(pchar(SaveDialog1.FileName)));
      end;
      end;

      procedure TForm1.StartAVIClick(Sender: TObject);
      begin
      if hWndC <> 0 then
      begin
      SaveDialog1.DefaultExt := 'avi';
      SaveDialog1.Filter := 'AVI files (*.avi)|*.avi') ;
      if SaveDialog1.Execute then
      begin
      CapturingAVI := true ;
      SendMessage(hWndC, WM_CAP_FILE_SET_CAPTURE_FILEA,  0, Longint(pchar(SaveDialog1.FileName))) ;

      SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0) ;
      end;

      end;

      end ;

      procedure TForm1.StopAVIClick(Sender: TObject);
      begin

      if hWndC <> 0 then
      begin
      SendMessage(hWndC, WM_CAP_STOP, 0, 0) ;
      CapturingAVI := false ;
      end ;

      end ;

      end`






      logitech-webcam






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 29 at 9:01









      Ahmed Ashour

      1,3251715




      1,3251715










      asked Jan 29 at 4:47









      Madani Ait hellalMadani Ait hellal

      12




      12






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "3"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1399504%2favicap32-dll-with-delphi%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Super User!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1399504%2favicap32-dll-with-delphi%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

          Mangá

          Eduardo VII do Reino Unido