Laden...

Forenbeiträge von Speedy_92 Ingesamt 89 Beiträge

19.04.2012 - 16:43 Uhr

Hallo Leute,
ich habe mich die letzten paar Wochen mit Netzwerkprogrammierung beschäftigt und ein wenig mit Server-Client Anwendungen herumgespielt. Ich habe ein laienhaftes Fernwartungsprogramm geschrieben, dass Nachrichten versenden konnte, das Dateisystem darstellen und Screenshots erstellen konnte. Nun werde ich das ganz von Grund auf neu beginnen und es ein wenig professioneller gestalten. Dazu habe ich ein paar Fragen.

Einige der von mir angestrebten Funktionen werden sein:
-Dateisystem
-Remote Desktop + Screenshots
-System-Infos
(-Chat)
(-Keylogger)
-Dateien hoch- und herunterladen
-Prozessmanager
-Remote-Konsole
-Registry-Editor

Ich bin recht zuversichtlich, dass dies alles zu realisieren ist.
Es wird so ausfallen, dass jeweils ein Server nur von einem Clienten gesteuert werden kann und er dann "locked" wird, damit kein anderer darauf zugreifen kann. Ein Client kann aber mehrere Server steuern. Dort fängt aber schon das erste Problem an. Wäre es schlauer, das steuerne Element als Server oder Clienten auszurichten? Denn auf der Seite des Servers wird es sicher Probleme mit der Portfreigabe im Router geben, wenn dort eine Firewall vorsitzt. Das ist eigentlich kein Problem und muss ja schließlich nur eingerichtet werden, aber wie herum würdet ihr das realisieren?

Der Datentransfer soll natürlich verschlüsselt werden. Reicht dazu eine RSA-Verschlüsselung aus? Oder gibt es eine effektivere und elegantere Methode die Daten zu verschlüsseln? Sollte der Benutzer selber für den Schlüssel verantwortlich sein oder wäre es vielleicht die bessere Wahl, wenn die Mac-Adresse oder ähnliches als Schlüssel benutzt wird?
Ist es wirklich notwendig alles zu verschlüsseln oder nur interessant, wenn Passwörter oder ähnliche wichtige Informationen übertragen werden?

Als Protokoll werde ich für Dateientransfer und ähnliches TCP benutzen. Ist es empfehlenswert für den Remotedesktop zum Beispiel UDP zu benutzen, da man hier ja nur den Bildschirm sieht und es nicht so entscheidend ist, wenn ein paar Informationen auf dem Weg verloren gehen.

Ist es sehr ressourcenfressend, wenn ich für jede neue Verbindung einen neuen Thread starte? Ich kann es sicherlich so realisieren, dass ich nur wenige Threads für alles benötige, allerdings würde es das ganze wahrscheinlich unübersichtlicher in der Programmierung machen.

Ich denke das war es erst einmal.

Gruß,
Speedy_92

07.04.2009 - 10:32 Uhr

Hallo Vitab,
ich bin auch in der 10. Klasse eines Gymnasiums und für mich klingt dieses Projekt sehr gut 🙂 Ich spiele selber bei Gelegenheit die Warlock - Map in Warcraft III und deshelb interessiert es mich 🙂

Also ich bin auf jeden Fall dabei 👍

23.02.2008 - 14:03 Uhr

Hi.
Ich habe mal gelesen, dass es in C++ eine Funktion gibt, mit der man über den Anwendungsbereich hinauszeichnen kann, die Taskleiste bemalen kann, etc. ...

Nun wollte ich wissen, ob es so etwas auch für C# gibt.

Gruß Speedy_92

27.01.2008 - 10:47 Uhr

OK.
Danke für die ganzen hilfreichen Beiträge.
Werde es dann so wohl machen, dass ich das Trial irgendwo in der hintersten ecke meines PCs auslagere und dann immer schön die Icons benutze 😁

Aber ich denke, ich werde auch auf andere zurückgreifen.

27.01.2008 - 10:37 Uhr

Also, wenn ich mir die Trial Version kaufe und dann deinstalliere, darf ich dann die Icons weiter benutzen??? Oder muss ich die dann auch entfernen???

Aber mein Problem ist, das ich keine rasend schnelle INET Verbindung habe und das downloaden halt sehr, sehr, sehr lange dauert 🙁

26.01.2008 - 18:02 Uhr

Hey.
Ich bin auf der Suche nach der VS2005ImageLibrary.zip... Ich habe leider nur VS Express und da ist die ja nicht dabei 😦.

Weiß jemand, wo man die downloaden kann, oder kann die jemand hochladen???

Danke im voraus.
Gruß Speedy_92

14.01.2008 - 16:32 Uhr

nein

06.01.2008 - 13:17 Uhr

Hey.
Bei mir ist allerdings das Problem, das ich wirklich nur "Krücken-Internet" habe... (DSL-Light^^).
Nun würde es wirklich sehr lange dauern, die C++ Edition zu laden und ich habe auch keine Flatrate.
Gibt es denn keine andere Möglichkeit, an die beiden Dateien heranzukommen?

*EDIT: Ich habe die beiden Dateien gefunden im SDK.

05.01.2008 - 19:35 Uhr

Also der einzigste Ordner in dem Verzeichnis ist dieser:

C:\Programme\Microsoft Visual Studio 8\VC\vcpackages
05.01.2008 - 15:55 Uhr

Mit der StopWatch Klasse in System.Diagnostigs oder

Thread.Sleep(2000) // Ich hoffe das funktioniert
05.01.2008 - 13:13 Uhr

Stimmt. Die Seite ist einfach nur Spitze 🙂
Vielen Dank

05.01.2008 - 13:08 Uhr

Dankeschön, aber ich habe halt nur die VS-Express für C# installiert.
Deswegen habe ich die Programme auch nicht.
Kann ich die beiden Sachen nicht irgendwie seperat downloaden?
Oder wäre jemand bereit die beiden Dateien hochzuladen (sofern das rechtlich erlaubt ist)?

Gruß Speedy_92

29.12.2007 - 09:29 Uhr

Hi.
Also, ich wollte mich ein wenig näher mit den Windows Bibliotheken beschäftigen und habe schließlich ein wenig gegoogelt zu dem Thema.
Ich bin recht oft auf die beiden Dateien link.exe und dumpbin.exe gekommen, wenn es um das Thema ging, wie man den Inhalt der Bibliotheken bekommt.
Ich habe auch schon gesucht, gesucht und gesucht, aber irgendwie gibts es diese beiden Dateien nirgends zum Download.
Weiß jemand, wo es diese gibt?

Danke im voraus.
Gruß Speedy_92

29.12.2007 - 09:22 Uhr

Danke für den Tipp, aber ich habe bereits gesucht und nicht gefunden.
Deswegen lade ich momentan das PDSK herunter, denn ich denke, es ist einfach ein MUSS, wenn man mit der win32 API arbeiten möchte.

Gruß Speedy_92

29.12.2007 - 00:15 Uhr

Spitze 🙂

Einfach nur super. Genau was ich wollte 👍
RIIESEN Dankeschön

28.12.2007 - 23:57 Uhr

Natürlich ist das nur ein Beispiel 😉

Aber ich verstehe nicht so ganz, wo ich sie finden soll ?( ?( ?(

Meinst du ich muss sie dort selber definieren?
Wenn ja, wo finde ich diese Werte?
Ich glaube ich stehe gerade ziemlich auf dem Schlauch.

PS: Weiß jemand, wo ich eine sogenannte link.exe oder dumpbin.exe herbekomme?
Ich habe gehört, damit kann man irgendwie die win32 Bibliotheken auslesen.

28.12.2007 - 23:44 Uhr

Hey.
Ich stehe vor einem Problem, das ich bisher durch die Hilfe von der MSDN, Google und der win32.hlp nicht lösen konnte.
Ich habe per DllImport die MessageBox Funktion aus user32.dll aufgerufen...
Alles klappt wunderbar. Nur bei dem letzten Parameter bleibe ich stehen:

UINT uType

Ich kann dort halt 0,1,2,3,4,5,6 einfügen.

Überall steht, dass es Flags dafür gibt. Diese lauten:
MB_ABORTRETRYIGNORE	The message box contains three push buttons: Abort, Retry, and Ignore.
MB_OK	The message box contains one push button: OK. This is the default.
MB_OKCANCEL	The message box contains two push buttons: OK and Cancel.
MB_RETRYCANCEL	The message box contains two push buttons: Retry and Cancel.
MB_YESNO	The message box contains two push buttons: Yes and No.
MB_YESNOCANCEL	The message box contains three push 

Nur nirgendswo habe ich gefunden, wo ich diese herbekomme, bzw. welchen Wert die haben oder so.
Ich habe mir deswegen eine eigene Aufzählung geschaffen, aber was hat es jetzt mit diesen Flags auf sich? Es gibt ja noch ein paar mehr, aber wenn ich dieses hier gelöst habe werden die anderen Flags auch kein Problem mehr darstellen.
Oftmals gibt es ja auch Hexadezimalwerte dafür, doch ich habe irgendwie nirgendswo ein Liste gefunden.

Danke schon einmal im voraus.
Gruß Speedy_92

22.12.2007 - 18:05 Uhr

Also wenn ich STRG+A drücke in meinen Textboxen, dann wird alles selektiert.
Ich weiß echt nicht, wo das Problem ist.

18.12.2007 - 19:48 Uhr

Hast du die Ports im Router freigegeben, ggf. an deinen Computer weitergeleitet und in deiner Firewall???

18.12.2007 - 14:51 Uhr

Hat denn niemand Hilfbereite eine Lösung???

17.12.2007 - 19:13 Uhr

Habs mir mal angeschaut, weiß aber nicht genau jetzt, wie ich das machen muss. Mit:



        private void frmMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                pointToScreen = Cursor.Position;
                Location = new Point(pointToScreen.X - Location.X, pointToScreen.Y - Location.Y);
            }
        }

//ODER

private void frmMain_MouseDown(object sender, MouseEventArgs e)
        {
            Cursor = Cursors.SizeAll;
            pointBefore = Cursor.Position;
        }
        private void frmMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                pointToScreen = Cursor.Position;
                Location = new Point(Location.X + (pointToScreen.X - pointBefore.X), Location.Y + (pointToScreen.Y - pointBefore.Y));
            }
        }

klappt es nicht... weiß nicht, wie ich es jetzt anstellen soll 🙁

PLS help

17.12.2007 - 18:58 Uhr

Hey.
Ich habe eine Form, die den FormBorderStyle None hat.
Nun versuche ich schon wie verbissen, herauszufinden, wie ich sie bewegen kann.
Hier meine ersten Gehversuche:


Point pointToScreen;
Point pointToClient;

        private void frmMain_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                pointToClient = e.Location;
                pointToScreen = PointToScreen(pointToClient);
                Location = new Point(HIER_WEISS_ICH_NICHT_WEITER, HIER_WEISS_ICH_NICHT_WEITER);
            }
        }

Danke schon einmal im voraus.
Gruß Speedy_92

02.12.2007 - 15:07 Uhr
public override void zumString()

Also damit wirst du es nicht schaffen 😉


public override void ToString()
{
}

01.12.2007 - 15:54 Uhr

Hey.
Ich habe herumprobiert und alles mögliche schon gemacht, aber halt noch nicht das richtige.
Ich habe einen Button auf meinem WinForm und wenn der geklickt wird soll auf ihm ein Kreuz gezeichnet werden. Es funktioniert super, aber immer wenn ich dann mit der Maus nicht mehr über dem Button bin dann geht das Kreuz wieder weg. Also wenn ich es angeklickt habe, dann gehts nur so lange, wie mein Curser über dem Button ist.

Hier mein "Versuch":


private void btn1_Click(object sender, EventArgs e)
        {
            surface.DrawCross(new Point(0, 0), new Point(97, 91), new Point(97, 0), new Point(0, 91), btn1);
        }

und surface ist eine Instanz von meiner Klasse Surface. In ihr ist eine Methode die es halt zeichnet:


public void DrawCross(Point lo, Point ru, Point ro, Point lu, Button btn)
        {
            Graphics g;
            g = btn.CreateGraphics();
            g.DrawLine(Pens.Black, lo, ru);
            g.DrawLine(Pens.Black, ro, lu);
            g.Dispose();
        }

Danke schon einmal im voraus.
Gruß Speedy_92

29.11.2007 - 20:36 Uhr

Also ich würde sagen, dass du ganz einfach an einer ganz anderen Stelle suchen solltest und es hier gar nicht dran liegt.

Hast du deinen Code schon "durchgedebuggt" ???

28.11.2007 - 14:52 Uhr

Original von tom-essen
Hallo!

Also ich persönlich spiele fast gar nicht. Bei keiner meiner Windows-Installationen sind die die Spiele mit-installiert (außer bei meiner Frau).
Ist für mich auch eine Art Selbstkontrolle, denn wenn ich einmal spielen würde, könnte ich nicht mehr aufhören (hab' früher bis zum Erbrechen Siedler 1-3 gespielt 8o).

So 1mal im Monat am PC meiner Frau Minesweeper spielen, reicht mir aus.

Also Siedler III Spiele ich immer wieder gerne 🙂
finde es einfach genial, wie man mit so einer schlechten Grafik so einen Spielspaß bringen kann.

Also im Moment spiele ich eigentlich immer (obwohl es schon ziemlich alt ist) Warcraft III TFT im Battle net.

26.11.2007 - 16:02 Uhr

Schau dir am besten mal dieses an:
[Tutorial] Einfaches Keyword-Highlighting

26.11.2007 - 15:57 Uhr

Bitteschön:

:rtfm: 🛈

21.11.2007 - 20:58 Uhr

Hey.
Ich möchte gerne wissen, wie man die ganze Form neu zeichnen kann.
Ich habe schon in der Doku gesucht (warscheinlich aber nicht nach dem richtigen).
Mit InitializeComponent(); kann man ja alles hinkleistern.
Ich habe schon mit Dispose versucht, aber dann ist halt meine ganze Form futsch.

Danke schon einmal im voraus.
Gruß Speedy_92

19.11.2007 - 14:01 Uhr

Dankeschön.
Ich hatte schon in meinem schlauen Buch nachgeschaut, nur irgendwie nicht gefunden 😁 Sry

19.11.2007 - 13:50 Uhr

Hey.
Ich habe ein Problem.
Ich möchte in einer RichTextBox die aktuelle Zeile bekommen/setzen.
Nun weiß ich nicht, wie ich darauf zugreife. Die Curserposition in einer Zeile bekomme ich ja mit MYRTF.SelectionStart, aber bei der Zeile bin ich ratlos.

PS:
Bitte meckert mich nicht so viel an, weil ich diese Frage stelle 😉
Dankeschön

Gruß Speedy_92

18.11.2007 - 11:29 Uhr

Du erstellst erst einmal eine Instanz von der Form und dann öffnest du sie mit Show();

Also z.B.:
Form2 frm = new Form2();
frm.Show();

Aber in der Professional Version gibt es ein Feature, mit dem man Setups erstellen kann.

10.11.2007 - 17:18 Uhr

Bei einer TextBox:
DEINETEXTBOX.SelectedText

09.11.2007 - 14:45 Uhr

Finde ich schon:

Iteriere doch einfach durch die Liste und hänge die Ints jeweils an einem zuvor deklarierten String und anschließend den String zurück in einen int.

09.11.2007 - 14:21 Uhr

Ah dankeschön 👍

09.11.2007 - 14:18 Uhr

Das wäre ja kein Thema. Genauso hatte ich es mir auch überlegt, doch ich weiß nicht, wie ich einen string in einen int bekomme, da ich in der string-Klasse nichts gefunden habe.

09.11.2007 - 14:06 Uhr

Hey.
Ich habe eine Liste, List<int>, und es stehen NUR Zahlen mit einer Ziffer drin (z.B. 1, 6, 3, 7, 0). Wie kann ich jetzt einen Integer erstellen, der aus diesen Ziffern besteht???

Kleines Beispiel:
In der Liste steht eine 1, 4, 7, 9, 0.
Ich möchte einen Integer mit dem Wert 14790 jetzt daraus bilden.

Wie kann ich so etwas bewerkstelligen???

Danke im voraus.
Gruß Speedy_92

05.11.2007 - 20:59 Uhr

An welcher Zeile GENAU kommt denn der Compiler-Fehler?
Weil irgendwo in deinem Code hast du wohl vergessen einen Parameter bei einer Methode zu übergeben.

04.11.2007 - 14:51 Uhr

Allerbesten Dank. Jetzt funktioniert es =)

04.11.2007 - 14:22 Uhr

Also ich habe ihn auf 0 gesetzt, weil es das einzige Image drin ist.

04.11.2007 - 14:14 Uhr

Es ist ein .gif und hat die Größe 16x16.

04.11.2007 - 14:05 Uhr

Ok.
Dankeschön.
Ich habe es jetzt einfach so gelöst:


Image img = Image.FromFile(Application.StartupPath+@"\img\folder.gif");
lvwMain.StateImageList = new ImageList;
lvwMain.StateImageList.Images.Add(img);
lvwMain.Items.Add(new ListViewItem(_di[i].ToString(), 0));

Nur mein Problem ist es jetzt, dass kein Bild angezeigt wird, sondern ein kleines weißes Rechteck.

Gruß Speedy_92

04.11.2007 - 13:57 Uhr

Das habe ich mir schon angeschaut, aber nichts gefunden, was mir weiterhelfen könnte.

04.11.2007 - 13:46 Uhr

Hey.
Ich versuche die ganze Zeit schon, dass ein Bild vor jedem ListView-Eintrag steht.

Ich habe es mit folgendem Code versucht, aber es kommt immer eine Null-Referenz-Exception:

            
Image img = Image.FromFile(Application.StartupPath+@"\img\folder.gif");
lvwMain.StateImageList.Images.Add(img);  // Hier kommt die Exception

lvwMain.Items.Add(new ListViewItem(_di[i].ToString(), 0));  // Die 0 ist wegen dem Image

Danke schon einmal im voraus.

Gruß Speedy_92

02.11.2007 - 13:26 Uhr

Ok. Dann werde ich wohl auf List<string> umsteigen.
Dankeschön für die Antworten =)

02.11.2007 - 12:08 Uhr

Hey.
Ich habe ein

string[] content = new string[5];

Nun ist es so, dass

content[2] = null; 

ist und wie kann ich es machen, dass dass alle Einträge ab

content[3]

einen nach vorne rücken, sodass

content[4] = null;

ist???

Danke im voraus.
Gruß Speedy_92

01.11.2007 - 10:37 Uhr

Hey.
Also. Ich würde gerne, dass wenn ich ein neues Projekt anlege nicht diese usings kommen:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

sondern sie etwas verändern. z.B. ein

using System.IO; 

soll beim Start auch schon hinzugefügt werden.

Wie kann man das machen???
Danke im voraus.
Gruß Speedy_92

01.11.2007 - 10:32 Uhr

Also am Besten setzt ihr euch mal mit Arthuro zusammen. Das heißt schreibt ihm doch mal bei ICQ. So schwer kann das doch nicht sein 😜

Hier seine ICQ-Nummer(die auch im Profil steht): 856560

Gruß Speedy_92