per usb plug n play programm starten


  • Administrator

    Datsik schrieb:

    Nachdem die Unterschrift getätigt ist und die Unterschrift gespeichert wurde, wird die Pad Software beendet.

    Den Satz musst du mir mal näher erläutern.

    Aber grundsätzlich (Unter der Annahme, dass Visual Studio verwendet wird):

    #include <sstream>
    
    #include <windows.h>
    
    #include "STPadLib.h"
    
    #pragma comment(lib, "STPadLib.lib")
    
    int main()
    {
      int error = 0;
      long deviceCount = STDeviceGetCount();
    
      if(deviceCount < 0)
      {
        std::wostringstream woss;
        woss << "Error: " << deviceCount;
    
        std::wstring message = woss.str();
        MessageBoxW(NULL, message.c_str(), L"Error", MB_OK | MB_ICONERROR);
    
        error = 1;
      }
      else if(deviceCount == 0)
      {
        MessageBoxW(NULL, L"No device connected!", MB_OK | MB_ICONERROR);
    
        error = 2;
      }
      else
      {
        ShellExecuteW(NULL, L"open", L"Pfad zur Pad Software (Exe)", NULL, NULL, SW_SHOW);
      }
    
      STControlExit();
    
      return error;
    }
    

    Bei ShellExecuteW musst du noch den Pfad zur Software des Pads einfügen.

    Der Code ist völlig ungetestet und ohne Garantie oder Gewähr.

    PHP und C++ sind übrigens zwei grundlegend verschiedene Sprachen. Und du solltest mal deinen Chef anhauen und um Unterstützung bitten. Man kann nicht einfach von heute auf morgen C++. C++ zu lernen dauert Monate, wenn man die Zeit dazu hat. Sonst wahrscheinlich Jahre ...

    Grüssli



  • Ich würde einfach mal sagen der Chef ist naiv. Wenn du nicht mal C/C++ kannst (ohne Dir nahe zu gehen), wie willst Du dann sowas professionell implementieren!?
    Denn genau so entsteht Schrott Software.

    Kannst du von deinem Chef sicher Hilfe erwarten, sofern er Dich unter Zeitdruck setzt. Denn ohne C/C++ Kenntnisse wirst Du hier nicht weit kommen. Da Muss er Dir schon viel Zeit geben oder einfach nichts zu erwarten haben. Wenn nicht, dann scheint es auch nicht Wichtig oder dringend zu sein, denn sonnst ist dein Chef wirklich naiv.

    Datsik schrieb:

    Ich versuchs nochmal zu erklären, ja das programm ändert sich ständig weil mein chef immer wieder mit neuen fürzen auftaucht.

    Dass ist mir bekannt. Kaum hat Er irgendwo was neues gesichtet, muss es auch in die Hauseigene Software hinein gequetscht werden, ohne Rücksicht und dies so schnell wie möglich...um dann auch glänzen zu können. Und dies wirkt sich meisten negativ auf die Sicherheit der SW aus!

    Versuche doch deiner Firma zu erklären, dass du die Weisheit der C/C++ Programmierung nicht aus dem Schöpflöffel fressen kannst, und Sie höflich bitten dir Zeit zu geben für die erlernung der Programmiersprache.
    Wenn nicht...Chef naiv!

    Datsik schrieb:

    Das ist ein Signotec Sigma Pad, um die Doku einzusehn müsste man sich das kostenlose Software Paket der Firma runterladen.
    Dabei sind zwar ein paar Programm vorschläge, diese bringen mich aber nicht weiter.

    Wenn Du die Samples nicht verstehst, dann mangelt es wohl an fehlenden Kenntnissen der Programmiersprache.



  • Morgen,

    Ich danke für den Code und die dafür verbrauchte Zeit, ich werde das mal testen und bescheid geben.

    Ja mein Chef ist sehr naiv, er denkt jeder der hier anfängt kann schon alles.
    Am anfang durfte ich etwas PHP machen dann musste ich direkt etwas in VB schreiben. Direkt darauf musste ich etwas in JavaScript programmieren, darauf dann wieder PHP. Dann kam Wordpress mit CSS anpassen, etwas HTML dazwischen und jetz C++.

    Abwechslung ist zwar nicht verkehrt aber das alles war in einem Zeitraum von knapp 4 Wochen. Da ich wie gesagt grade erst damit angefangen habe ist das alles etwas zuviel.

    Auch wenn ich ihm sage ich kanns nicht, ignoriert er es und sagt du schaffst das schon. Hast ja noch ne woche zeit ...

    Am schlimmsten finde ich immer die änderungen. Kaum ist man fertig kommt ne änderung rein. Man ist wieder fertig, will der Chef das es so ist, wie es am anfang war.

    Grüße



  • Also hab den Code mal getestet, kann den nichtmal compilieren. Bekomme nur fehlermeldungen. Mein Chef hat wieder neue änderungen grade reingebracht. Dabei hab ich noch nichtmal ein Grundgerüst das funktioniert. Der Kunde wird auch schon ungeduldig weil ers braucht.

    Hab mal rundgefragt ob das niemand übernehmen möchte ... niemand will, war ja auch klar. Unser einzigster ausgelernter Programmierer mag nix ins C++ machen da er PHP fetischist ist.

    Bin mal gespannt obs mein chef übernehmen möchte, er kann ja laut eigener aussage 21 programmiersprachen ...



  • Ok Code habe ich noch etwas angepasst(mit hängen und würgen), funktioniert soweit. Jetzt is mir aufgefallen das ich für diverse funktionen dieses afx... brauche. hatte mir eben dern microsoft sdk runtergeladen und siehe da microsoft unterstützt nichma selbst den visual c++ 2010 express...

    hab etwas gegoogelt aber mehr als afxwin.h finde ich nicht im netz.
    mir fehlt jetz noch:
    - afxdtctl.h
    - afxext.h
    - afxdisp.h
    - afxcmn.h

    grüße


  • Administrator

    afx bedeutet MFC oder ATL. Die sind in der Express Version nicht dabei und bekommt man auch nicht gratis.

    Aber ehrlich gesagt, habe ich ein wenig Mühe dir weiterzuhelfen. Das Problem liegt eindeutig bei deinem Chef und dabei kann ich dir nicht helfen. Wahrscheinlich denken noch andere so, welche den Thread hier lesen. Dir nun dabei zu helfen, irgendein Abfallprodukt zusammenzuschustern, sehe ich nun auch nicht wirklich als Problemlösung an 😞

    Grüssli



  • Datsik schrieb:

    Bin mal gespannt obs mein chef übernehmen möchte, er kann ja laut eigener aussage 21 programmiersprachen ...

    Und? Aber beherrschen tut er nicht mal eine... Nach dem was Du uns da erzählt hast, erwarte ich auch nichts anderes. 🙄



  • das ist richtig, er kann vllt in jeder hallo welt schreiben wobei ich das noch stark anzweifel! 😃
    er hat mir den auftrag gegeben ein angebot bei signotec einzuholen, da ihm visual studio zu teuer ist.

    grüße



  • Dravere schrieb:

    afx bedeutet MFC oder ATL. Die sind in der Express Version nicht dabei und bekommt man auch nicht gratis.

    So ist es.
    Allerdings benötigt man für die Lösung dieses (einfachen) Problems wohl
    definitiv keine MFCs.

    Die Bibliothek könnte etwas besser dokumentiert sein, aber zusammen mit den
    mitgelieferten Demos sollte es kein Problem sein eine Win32-Konsolenanwendung
    (oder auch eine Win32-Applikation) als Projekt anzulegen, die STPadLib Dateien
    (.lib, .h, .cpp) dazu kopieren und die benötigten Funktionen hinzuzufügen.

    Folgendes kompiliert z.B. völlig fehlerfrei:

    #include "targetver.h"
    
    #include <windows.h> 
    #include <tchar.h>
    #include <iostream>
    
    #include "STPadLib.h" 
    
    #pragma comment(lib, "STPadLib.lib") 
    
    using namespace std;
    
    int main() 
    { 
    
    // Angeschlossene Geräte suchen
    long nDeviceCount = STDeviceGetCount();  // ab Version 8.0.19
    
    if(nDeviceCount <= 0) {
       wcout << L"Kein Gerät gefunden" << endl;
       exit(1);
       }
    
    // Nachsehen an welchem port das Gerät hängt
    long nPort = STDeviceGetComPort(0); 
    if (nPort < 0) { 
    	wcout << L"Error " << nPort << endl; 
    	exit(1);
    	}
    if (nPort == 0) 
    	wcout << L"HID Gerät gefunden" << endl;
    
    wcout << L"Gerät an COM port" << nPort << endl;
    
    // Gerät oeffnen
    long nResult = STDeviceOpen(0); 
    
    if (nResult < 0) {
    	wcout << L"Error " << nPort << endl; 
    	exit(1);
    	}
    
    // get display size of selected device
    long nWidth = STDisplayGetWidth();
    if (nWidth < 0) {   // error
    	wcout << L"Error " << nPort << endl; 
    	exit(1);
    	}
    
    long nHeight = STDisplayGetHeight();
    if (nHeight < 0) {
    	wcout << L"Error " << nPort << endl; 
    	exit(1);
    	}
    
    // print display size
    cout << L"Display: " << nWidth << L" x " << nHeight << L"Pixel" << endl;
    
    // erfasste Unterschrift als Bilddatei speichern  
    nResult = STSignatureSaveAsFileEx(L"C:/Signature.tif", 300, 0, 0, kTiff, 0, RGB(0, 0, 255), 0); 
    if (nResult < 0) {
    	wcout << L"Error " << nPort << endl; 
    	exit(1);
    	}
    
    // STPadLib Zugriff beenden 
    STControlExit();
    
    return 0;
    }
    


  • @merano Hi,
    ich weiß der Thread ist schon ziemlich alt. Bin darauf gestoßen, weil ich gerade auch mit dem Unterschriften Pad von Signotec zu tun habe. Ich habe ähnliche probleme wie @Datsik die Docu richtig zu verstehen. Mit deinem Beispielcode ist es dann doch ein wenig einfacher. Vielen Dank.
    Allerdings konnte ich diesen nicht gleich kompilieren folgendes musste ich noch einfügen.

    #include"stdafx.h"
    

Anmelden zum Antworten