Announcement

Collapse
No announcement yet.

Mein Programm als Standard-EMail eintragen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mein Programm als Standard-EMail eintragen

    Moin moin,

    Ich habe ein EMail-Programm geschrieben und möchte das dieses Programm als Standard-Mailprogramm genutzt wird.

    Der Hintergrund ist der, das ich auch die oft vorhande Scannerfunktion Scan&Mail zu meinem Programm umleiten möchte.

    Eine andere Möglichkeit währe, aus meinem Programm heraus den Scanner anzusprechen. Hat jemand eine Idee wie das geht ???

  • #2
    http://www.marquardtnet.info/cecke/d...3_chtwain.html
    Christian

    Comment


    • #3
      Hallo Christian,

      Die EXE funktioniert mit meinem Scanner prima.

      Aber leider schlägt die Compilerung fehl, weil die folgenden Datentypen in der chtwain.h nicht bekannt sind. Ich benutzer den builder 6

      Code:
      	DSMENTRYPROC lpDSM_Entry;
      	TW_IDENTITY twi_AppID,twi_SourceID;
      	TW_USERINTERFACE twUI;
      	TW_STATUS twStatus;
      	TW_UINT16 ReturnCode;
      	TW_PENDINGXFERS twPendingXfers;
      	TW_IMAGEINFO twImageInfo;
      	TW_UINT32 hBitmap;

      Comment


      • #4
        Würde sagen du hast die twain.h nicht mit eingebunden
        Christian

        Comment


        • #5
          Stimmt.

          Aber noch eine Frage :

          Wie kann ich das Image als JPG speichern ???

          und noch eine :

          kann ich irgendwie verhindern, das die Scannersoftware aufpoppt, also das einfach nur gescannt wird ??

          Ansonsten schon mal danke für die Hilfe.

          Es würde mich aber immernoch interessieren, wie ich mein Programm zum Standard Mailprogramm machen kann.

          Comment


          • #6
            Wie kann ich das Image als JPG speichern ???
            Schau dir das Demoprojekt an:

            http://www.marquardtnet.info/cecke/t...egviewerl.html


            TJPEGImage *JPEGImage = new TJPEGImage;
            JPEGImage->Assign(Image1->Picture->Bitmap);
            JPEGImage->SaveToFile("test.jpg");
            delete JPEGImage;

            Die Header weiss ich jetzt nicht aus dem Kopf....



            kann ich irgendwie verhindern, das die Scannersoftware aufpoppt, also das einfach nur gescannt wird ??
            Nein, nicht mit dieser DLL

            Es würde mich aber immernoch interessieren, wie ich mein Programm zum Standard Mailprogramm machen kann.
            Musst du bis heute Abend warten, habe eine Routine den den Standard Mailclient ermittelt, die könnte das umgekehrt auch können
            Christian

            Comment


            • #7
              HKEY_LOCAL_MACHINE\\SOFTWARE\\Clients\\Mail\\

              sollte den Std. Client beinhalten
              Christian

              Comment


              • #8
                TJPEGImage *JPEGImage = new TJPEGImage;
                JPEGImage->Assign(Image1->Picture->Bitmap);
                JPEGImage->SaveToFile("test.jpg");
                delete JPEGImage;

                funktioniert bei mir nicht ??? Egal ob ich ein Bild vom Scanner nehme oder aus einer Datei - es gibt immer einen JPEG-Fehler wenn ich das neue Bild anzeigen will.

                Comment


                • #9
                  Du hast diese Zeile auch angepasst??

                  JPEGImage->Assign(Image1->Picture->Bitmap);


                  Hier liegt das Bild in einem ImageObjekt.....

                  Du übergibst Assign die Bitmap...

                  funktioniert bei mir nicht ???
                  Man könnte ja irgendwie erwarten, dass man sich einen DEMO - Code und die Klassenmethoden anschaut, zumal keiner weiss was du machst, wie du es machst. Da erwartest du einen auf deine Verhältnisse zugeschnittenen Code???


                  Egal ob ich ein Bild vom Scanner nehme oder aus einer Datei
                  Aha, und man darf jetzt raten wo der Fehler liegt?? Nicht mal ein bissschen Quelltext posten?? Also ich weiss nicht, was du mit "aus einer Datei" meinst

                  :-((
                  Zuletzt editiert von Christian Marquardt; 01.09.2007, 11:28.
                  Christian

                  Comment


                  • #10
                    Code:
                    void __fastcall TForm1::ScannenClick(TObject *Sender)
                    {
                      Image1->Picture->Bitmap=twain.Scan();
                    }
                    Danach ist der Scan ordnungsgemäß zu sehen (in Image1);

                    Code:
                    void __fastcall TForm1::Button1Click(TObject *Sender)
                    {
                       TJPEGImage *JPEGImage = new TJPEGImage();
                       try {
                          JPEGImage->Assign(Image1->Picture->Bitmap);
                          JPEGImage->SaveToFile("test.jpg");
                       }
                       catch (...)
                       {
                          ShowMessage ("fehler");
                       }
                       delete JPEGImage;
                    }
                    Danach ist test.jpg 0 Bytes groß und die Anzeige von Image1 ist auch verschwunden.

                    Comment


                    • #11
                      habe das eben nochmal nachprogrammiert: Funktioniert einwandfrei.

                      Wird die Exception geworfen?
                      Ist noch genug Platz auf dem Laufwerk?
                      Ist das auch die aktuelle test.jpg Datei? Nicht etwa ein alte aus vorigen Versuchen?
                      Christian

                      Comment


                      • #12
                        Originally posted by Christian Marquardt View Post
                        habe das eben nochmal nachprogrammiert: Funktioniert einwandfrei.

                        Wird die Exception geworfen?

                        Ist noch genug Platz auf dem Laufwerk?
                        Ist das auch die aktuelle test.jpg Datei? Nicht etwa ein alte aus vorigen Versuchen?
                        Es wird keine Excption geworfen
                        Es sind mehr als 50 GB Platz auf der Platte
                        Mein RAM ist 2 GB groß
                        Die alte test.jpg habe ich gelöscht, die neue ist dann wieder 0 Byte groß

                        Comment


                        • #13
                          Hallo Henri


                          würde mich mal interessieren, wie du den smtp server bei deinem provider connectest.
                          Ich hab es mit nmsmtp (BCB6) probiert.
                          Leider muss man sich heutzutage aber mit Benutzer und Passwort anmelden.
                          Das kann nmsmtp nicht.

                          mfg
                          Gruß Henry

                          Comment


                          • #14
                            Ich benutze die TId (Indy) Komponente, die kann das

                            Comment


                            • #15
                              Hallo Henri,

                              Danke, werd´s dann mal probieren.


                              MfG
                              Gruß Henry

                              Comment

                              Working...
                              X