Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. C# windowless application for screen capture and replay

C# windowless application for screen capture and replay

Scheduled Pinned Locked Moved C#
csharpc++tutorialquestion
10 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    parth_patel
    wrote on last edited by
    #1

    Hello everyone, I am trying to write a C# application, that does something as follows. It is in two parts. 1) windowless application: I want it to be a transparent application, through which user can see the application behind it but still when it click on the application the tranparent one(my application) receives the event message and stores it. Also that event needs to be sent to the main window of application that is running behind my application. 2) Screen capture. for this I need to be able to draw the area user selects on my application which is transparent. I found couple of tutorials for doing separate tasks of this application in different languages. But could not get started with it. I am completely clueless about how to implement it in C# or C++. does anybody have any idea how to get this done ? Any pointers will be helpful. Thanks, Parth

    H D 2 Replies Last reply
    0
    • P parth_patel

      Hello everyone, I am trying to write a C# application, that does something as follows. It is in two parts. 1) windowless application: I want it to be a transparent application, through which user can see the application behind it but still when it click on the application the tranparent one(my application) receives the event message and stores it. Also that event needs to be sent to the main window of application that is running behind my application. 2) Screen capture. for this I need to be able to draw the area user selects on my application which is transparent. I found couple of tutorials for doing separate tasks of this application in different languages. But could not get started with it. I am completely clueless about how to implement it in C# or C++. does anybody have any idea how to get this done ? Any pointers will be helpful. Thanks, Parth

      H Offline
      H Offline
      Henry Minute
      wrote on last edited by
      #2

      If the purpose of your application, is purely screen capture, this is not the way to do it. If, however it has some other function, perhaps letting us know what that is, might get you an answer. There are loads of articles here on CP, dealing with Screen Capture. Search the articles, and have a play with the articles you find.

      Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

      P 1 Reply Last reply
      0
      • P parth_patel

        Hello everyone, I am trying to write a C# application, that does something as follows. It is in two parts. 1) windowless application: I want it to be a transparent application, through which user can see the application behind it but still when it click on the application the tranparent one(my application) receives the event message and stores it. Also that event needs to be sent to the main window of application that is running behind my application. 2) Screen capture. for this I need to be able to draw the area user selects on my application which is transparent. I found couple of tutorials for doing separate tasks of this application in different languages. But could not get started with it. I am completely clueless about how to implement it in C# or C++. does anybody have any idea how to get this done ? Any pointers will be helpful. Thanks, Parth

        D Offline
        D Offline
        DaveyM69
        wrote on last edited by
        #3

        In other words, you want to invisibly log all events and take screenshots too, so a spy application? I guess you want to hide it from Application and Process tabs in TaskManager too! Would you want this on your computer? I certainly wouldn't, so you need to provide some justification for it before you'll get any help from me I'm afraid.

        Dave
        BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
        Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
        Why are you using VB6? Do you hate yourself? (Christian Graus)

        P 1 Reply Last reply
        0
        • D DaveyM69

          In other words, you want to invisibly log all events and take screenshots too, so a spy application? I guess you want to hide it from Application and Process tabs in TaskManager too! Would you want this on your computer? I certainly wouldn't, so you need to provide some justification for it before you'll get any help from me I'm afraid.

          Dave
          BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
          Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
          Why are you using VB6? Do you hate yourself? (Christian Graus)

          P Offline
          P Offline
          parth_patel
          wrote on last edited by
          #4

          No It is not a spy application, it is basically screen capture and then replay. I have softwares from which I have to take screenshots. Now these screenshots need to be taken for each and every language the software gets translated in. So instead of doing this manually, I am trying to get it done automated. That's why I need to capture the events send it to the software for english language and then replay it on other language versions.

          D D 2 Replies Last reply
          0
          • H Henry Minute

            If the purpose of your application, is purely screen capture, this is not the way to do it. If, however it has some other function, perhaps letting us know what that is, might get you an answer. There are loads of articles here on CP, dealing with Screen Capture. Search the articles, and have a play with the articles you find.

            Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

            P Offline
            P Offline
            parth_patel
            wrote on last edited by
            #5

            No ,it is not purely screen capture. I already found a good application for screen capture written in C#. (Greenshot on sourceforge) But I dont need those many features. I only need to capture the events send it to the software running behind. Take a screenshot and then replay these events again on different localized versions of software to take same screenshots from those versions too.

            1 Reply Last reply
            0
            • P parth_patel

              No It is not a spy application, it is basically screen capture and then replay. I have softwares from which I have to take screenshots. Now these screenshots need to be taken for each and every language the software gets translated in. So instead of doing this manually, I am trying to get it done automated. That's why I need to capture the events send it to the software for english language and then replay it on other language versions.

              D Offline
              D Offline
              DaveyM69
              wrote on last edited by
              #6

              OK, that sounds fair. Depending on what events you need to capture, have you thought about having an app minimized to tray instead of 'invisible' and using global hooks?

              Dave
              BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
              Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
              Why are you using VB6? Do you hate yourself? (Christian Graus)

              P 2 Replies Last reply
              0
              • P parth_patel

                No It is not a spy application, it is basically screen capture and then replay. I have softwares from which I have to take screenshots. Now these screenshots need to be taken for each and every language the software gets translated in. So instead of doing this manually, I am trying to get it done automated. That's why I need to capture the events send it to the software for english language and then replay it on other language versions.

                D Offline
                D Offline
                Dan Neely
                wrote on last edited by
                #7

                Have you investigated commercial screen capture applications? I know adobe captivate will let you extract the screen shots it takes when recording an application easily. You probably should be able to do the same with cheaper/free apps, but most of them save a movie (vs captivates screen shot per dialog change and mouse movements) they might end up costing more once your time is factored into the exercise.

                It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies

                P 1 Reply Last reply
                0
                • D DaveyM69

                  OK, that sounds fair. Depending on what events you need to capture, have you thought about having an app minimized to tray instead of 'invisible' and using global hooks?

                  Dave
                  BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                  Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
                  Why are you using VB6? Do you hate yourself? (Christian Graus)

                  P Offline
                  P Offline
                  parth_patel
                  wrote on last edited by
                  #8

                  No, I do not know how to create such an application. Let me google it. If you know about any examples or tutorials, Can you give me a link ? Thanks for the suggestion.

                  1 Reply Last reply
                  0
                  • D Dan Neely

                    Have you investigated commercial screen capture applications? I know adobe captivate will let you extract the screen shots it takes when recording an application easily. You probably should be able to do the same with cheaper/free apps, but most of them save a movie (vs captivates screen shot per dialog change and mouse movements) they might end up costing more once your time is factored into the exercise.

                    It is a truth universally acknowledged that a zombie in possession of brains must be in want of more brains. -- Pride and Prejudice and Zombies

                    P Offline
                    P Offline
                    parth_patel
                    wrote on last edited by
                    #9

                    I do not want to go for such complex application, which I have to pay for. I want to keep it simple and customizable. That's why, I am trying to use code from such open source projects and create my own app.

                    1 Reply Last reply
                    0
                    • D DaveyM69

                      OK, that sounds fair. Depending on what events you need to capture, have you thought about having an app minimized to tray instead of 'invisible' and using global hooks?

                      Dave
                      BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                      Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
                      Why are you using VB6? Do you hate yourself? (Christian Graus)

                      P Offline
                      P Offline
                      parth_patel
                      wrote on last edited by
                      #10

                      I will also need to draw user's clipped rectagle back to screen, when user is first time taking screenshot for english language. Does a minimized application allow me to draw rectangles back to the screen ? Here is a summary of what I already have found on net: ----------------------------------------------------- Creating a windowless application: Easily with windows forms. Sending events to another application : user32.dll provides findwindow and sendmessage function. Storing the events: I intend to use a sqlite engine. It comes in form of DLL that I can import. You will find tutorials online. What I am looking for now is a way to draw on screen and capture the events: ---------------------------------------------------------------------------- Global hooks might be the solution, if I can draw back a rectangle on the screen at the same time. I also intend to give use an option to choose colors/pen/rectangle/circle so that, anyone can scribble a bit on screen. But it will not be that fancy. Can I draw a user control on screen when application is minimized?

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups