Seite 2 von 2

Re: Kommunikation zwischen zwei Programmen?

Verfasst: 23.03.2011 18:09
von DarkDragon
TomS hat geschrieben:DarkDragon, deinen Code würde ich nicht verwenden.
Ich denke mal er erzeugt einen neuen Typen neben den 3 bekannten Standardtypen, Text, Data/Image und File.
Allerdings können diese 3 Typen nicht parallel benutzt werden.
Das heißt, wenn du einen Bildschnipsel aus Paint ausgeschnitten/kopiert hast und danach einen Text kopierst, ist der Bildschnipsel weg.
Wenn jetzt konstant im Hintergrund irgendwelcher für den Anwender unrelevanter Quatsch meine Text Schnipsel überschreibt, würde mich das sehr ärgern.
Nur wenn man EmptyClipboard verwendet wird der andere Inhalt gelöscht. Das habe ich nur exemplarisch ins lesen eingebaut, natürlich sollte man das so machen dann:

Code: Alles auswählen

Define CrypticalFormat.i
Define Memory.i
Define Text.s

CrypticalFormat = RegisterClipboardFormat_("WAIODJIWOADJWIOIAJISDJ")
If CrypticalFormat <> 0
  If OpenClipboard_(0)
    ; Read it if something is available
    Memory = GetClipboardData_(CrypticalFormat)
    If Memory <> 0
      Debug PeekS(GlobalLock_(Memory))
      GlobalUnlock_(Memory)
      SetClipboardData_(CrypticalFormat, 0)
    Else
      ; or write it if nothing is in the clipboard
      Text = "Hello, World!"
      Memory = GlobalAlloc_(#GMEM_MOVEABLE, StringByteLength(Text, #PB_Ascii))
      If Memory <> 0
        PokeS(GlobalLock_(Memory), Text, -1, #PB_Ascii)
        GlobalUnlock_(Memory)
        
        Debug "Writing data to clipboard."
        
        SetClipboardData_(CrypticalFormat, Memory)
      EndIf
    EndIf
    CloseClipboard_()
  EndIf
EndIf
Kopier irgendwelchen Text oder irgendwelche Bilder und führe den Code 2x aus, dann ist die Zwischenablage für dich immernoch die alte.
Aber ja, du hast recht wenn du es andersrum meinst:
Der Nutzer kopiert irgendwas zwischen dem 2x ausführen. Aber das könnte man auch handeln (Handshake und so..).

Ich schreib zu dem Posting lieber mal hinzu, dass es ein Scherz war, denn es gibt soviele Möglichkeiten, dass ich einfach alle geschrieben hab, die mir einfielen.

Re: Kommunikation zwischen zwei Programmen?

Verfasst: 29.03.2011 22:37
von pureanfänger
Danke für die verschiedenen Tipps :)

Ich habe dazu aber noch eine konkrete Frage.

Wenn ich z.B. Benutzerdaten (Username + Passwort) von einem Programm zum anderen übertragen möchte, welche Methode würdet ihr vorschlagen ?

Re: Kommunikation zwischen zwei Programmen?

Verfasst: 29.03.2011 22:53
von STARGÅTE
Die Methode (in Bezug auf die hier genannten Möglichkeiten) ist eigentlich egal.
Wichtig ist bei "Benutzerdaten" nur, das du sie nicht als Klartext übertragen solltest,
sonden "Ein-Weg"-verschlüsselst, wenn es nur um einen "Vergleich geht" (ob beide das gleiche angegeben haben)
oder "Hin/Rück"-verschlüsselst, wenn die echten Daten wieder benötigt werden.

Verschlüsselungsmethoden findest du unter PureBasic - Cipher