Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von veasel
Thema: Funktion eines anderen Programms nutzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

das sind alles sachen, die ich noch nie gemacht habe.
Remoting ist gerade thema im MCPD - kurs.

Hast du ein paar ansätze für mich?

ich habe ein Programm, dass über TAPI Nummern wählen kann. PC mit Telefon verbunden.

Nun möchte ich aus unserer Telefonsoftware durch klicken die Nummer an mein Programm senden, da unser Telefonbuch kein C# ist, hab ich mir gedacht ich mache eine Konsolenanwendung mit Args und übergebe die Nummern, dann hab ich alle .Net Mittel diese Nummer an meine Wählprogramm zu seden. und hier kommt dann wohl Remoting oder so in spiel...

Thema: Funktion eines anderen Programms nutzen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wie kann ich einem Programm aus einem anderen Programm etwas übergeben und es dann verarbeiten.

Will aus einem Programm eine Telefonnummer an ein anderes Programm übergeben und dann mit diesem Programm die nummer wählen.

Beide Programme sind von mir geschrieben, könnte also beide ändern.

Danke für die Hilfe!!

Grüße von der Ostsee...

Thema: PerformanceCounter remote
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich habe eine kleines Programm das alle Sekunde ein paar PerfornaceCounter ausliest und die Werte in eine Datei schreibt. Brauche das für die Planung einer VM-Welt.

Nun will ich diese Abfrage der Werte auf ca. 85 Servern starten.
Da ich ja die exe nicht remote auf jedem Server starten kann (Sicherheit) würde ich die PerformaceCounter remote abfragen....aber WIE?

Den MachineName kann man angeben aber ich habe keine Berechtigungen die Counter zu lesen.
Wo und wie kann man dort Credentials angeben?

oder gibt es noch eine andere Möglichkeit?

Danke für die Hilfe!!

Grüße von der Ostsee

Thema: An alle Entwickler in Firmen: Eher zugeknöpft oder Fun?
Am im Forum: Smalltalk

also spassig und lustig ist es bei uns auch und nen kuchen gibt es auch manchmal wenn der chef nicht da ist... :o)

aber es ist immer noch anders als im besagten schweden oder usa.

Thema: An alle Entwickler in Firmen: Eher zugeknöpft oder Fun?
Am im Forum: Smalltalk

erstmal grüße nach moers...
da war ich vor kurzem auch gerade mal.

also bei uns gibt es sowas leider nicht!
ich finde diese ansätze aber sehr gut und wenn man mal in der staaten guckt zu den großen firmen im silicon valley, da ist sowas auch normal wie zum bsp. auch kindergärten in der firmen.
ich habe vor kurzem einen bericht über google gesehen, da ging es darum, dass den mitarbeitern dort in 20% ihrer zeit 80% der der kretiven lösungen einfallen und deshalb bekommen sie 20% ihrer zeit am tag dafür dinge zu tun, die sie gerne mögen wie zum bsp. basketball spielen.

ich denke, wenn man aufhören würde so eng und stressig zu denken wie es leider hier in deutschland meist der fall, könnte es viel besser laufen!
aber es gibt ja immer nur stress und termine...

Thema: XML-Datei für weitere Verarbeitung geeignet auslesen
Am im Forum: Datentechnologien

hallo,

wieso speicherst du das nicht als XML Datei? :o)

Nee, mal Spass bei Seite, ich versteh überhaupt nicht wo dein Problem ist!!

Thema: Freigaben von einer Netzwerkresource ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hallo,

wie versprochen hier eine kleine Klasse mit 2 Methoden für die Ermittlung von Freigaben.

System.Management muss referenziert werden.


class ShareLister
{
	public List<ManagementObject> ListShares(string computername, string username, string password)
	{
		List<ManagementObject> Shares = new List<ManagementObject>();
		if (computername != string.Empty)
		{
			ManagementScope managementScope1 = new ManagementScope((@"\\" + computername + @"\root\cimv2"));
			managementScope1.Options.Username = username;
			managementScope1.Options.Password = password;
			managementScope1.Options.EnablePrivileges = true;
			ObjectQuery objectQuery1 = new ObjectQuery("SELECT * FROM Win32_Share");
			ManagementObjectSearcher managementObjectSearcher1 = 
                                   new ManagementObjectSearcher(managementScope1, objectQuery1);
			using (ManagementObjectCollection.ManagementObjectEnumerator managementObjectEnumerator1 =
					managementObjectSearcher1.Get().GetEnumerator())
			{
				while (managementObjectEnumerator1.MoveNext())
				{
					ManagementObject managementObject1 = ((ManagementObject)managementObjectEnumerator1.Current);
					Shares.Add(managementObject1);
				}
			}
		}
		return Shares;
	}

	public bool RemoveShare(ManagementObject shareToRemove)
	{
		try
		{
			shareToRemove.InvokeMethod("Delete", new object[] { shareToRemove.Path.ToString() });
			return true;
		}
		catch
		{
			return false;
		}
	}
}

ist vielleicht nicht sehr elegant aber ich musste das decompilieren und dann nocheinmal etwas aufbessern, da ich meine sourcen nach einem plattenausfall nicht mehr habe... ich weiss -> Backup hilft.... :o(

Thema: Freigaben von einer Netzwerkresource ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

joa das könnte das auch hin... wie gesagt ich werde mich da am freitag mal drum kümmern...

MfG

Thema: Freigaben von einer Netzwerkresource ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

dann werd ich am freitag mal versuchen dran zu denken...

:o)

Thema: Freigaben von einer Netzwerkresource ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

richtig!
funzt damit sogar richtig super!!
man bekommt auch die administrativen Freigaben (versteckte Freigaben mit $)

könnte auch eine bsp-app zur verfügung stellen aber erst am freitag, da ich urlaub habe...aber wenn bedarf besteht...

Thema: Was trinkt ihr so für Kaffee?
Am im Forum: Smalltalk

hallo,

also @work trinke ich Meisterröstung, aber mit Satz (also ohne Maschineneinsatz)

zuhause hab ich ne senseo...hab auch ne zeit lang den originalen kaffee dazu getrunken aber jetzt finde ich den nicht mehr so gut.

hab mir dann pads von jacobs geholt, Kaffee crema...einfach der Hammer!! ohne Milch und Zucker, das verdirbt nur den geschmack!!



Iam addicted 2 coffee!!!

Thema: Form ohne Titel bewegen
Am im Forum: GUI: Windows-Forms

cool, habs gerade mal ausprobiert!!

funzt super!!

DANKE!!

PS: jetzt noch den Cursor ändern.

Thema: PrintPreviewDialog mit PrintDialog
Am im Forum: Rund um die Programmierung

hallo,


ich würde den PrinDialog schon vor dem PintPreviewDialog anzeigen lassen, denn für die Vorschau willst du doch auch schon Druckereinstellungen machen (Papier, duplex, nur eine Seite...).
und wenn die PreView auf dem gewählten Drucker OK ist, dann kannst doch normal über den Button drucken.

alles zu druckende in die Print_Page Event des PrinDocuments zeichnen.
und ggf. Parameter im BeginPrint_Event setzen.

Thema: Form ohne Titel bewegen
Am im Forum: GUI: Windows-Forms

das geht natürlich auch!!
ich hoffe mal das zungeaustrecken geht NICHT gegen mich!!!

ist nämlich nicht nett!!!!
gar nicht nett!!!

außerdem würde ich eine mischung aus beidem machen!!
denn es soll ja nur vergrößert werden wenn der cursor am rand der form ist!!


//global
bool resizing = false;

private void Form1_MouseDown(object sender, MouseEventArgs e)
{
	rezising = true;
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
	int xMin = (this.Right - this.Left) - 5;
	int xMax = (this.Right - this.Left) + 5;
	int yMin = (this.Bottom - this.Top) - 5;
	int yMax = (this.Bottom - this.Top) + 5;
	int xMouse = e.X;
	int yMouse = e.Y;
	if (resizing &&  (yMouse > yMin && yMouse < yMax))
	{ 
		//Vergrößerung in Y-Richtung
		this.Height = MousePosition.Y - this.Location.Y;
	}
	
	if (resizing && (xMouse > xMin && xMouse < xMax))
	{
		//Vergrößern in X-Richtung
		this.Width = MousePosition.X - this.Location.X;
	}
}

private void Form1_MouseUp(object sender, MouseEventArgs e)
{
	rezising = false;
}

die Verschiebung ist nur so eine Idee, funktioniert aber nur wenn man die Maus langsam bewegt. da muss man noch dran arbeiten!!

Thema: Form ohne Titel bewegen
Am im Forum: GUI: Windows-Forms

so nochmal ich...

ich würd vielleicht ungefähr so machen.

		
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
	int xMin = (this.Right - this.Left) - 5;
	int xMax = (this.Right - this.Left) + 5;
	int xMouse = e.X;
	if (xMouse > xMin && xMouse < xMax)
	{
		//Hier nen Timer laufen lassen und solange der Button 
		//grdrückt die Größe der Form ändern!
		//das ganze dann noch für verschiebungen nach unten machen
        }
}

Thema: Form ohne Titel bewegen
Am im Forum: GUI: Windows-Forms

hallo,

also wenn ich darüber so nachdenke, dann musst du evtl. wenn der MouseButton grdrückt wird gucken, oder der mauszeiger am rand ist und wenn dann die form um die bewegung der maus in die richtung vergößern. das Backgroundimage kannst du doch so einstelllen, dass es sich automatisch vergrößert, autosize oder so...

wenn nicht, musst du dich darum auch noch kümmern...wegen verzerrungen und so.

ich guck mir das gerade mal an...dann poste ich auch code!

MfG

Thema: Delete in 3 Schichten Architektur
Am im Forum: Datentechnologien

achja es waren ja 3 schichten...

hmm...wie geschrieben...mir wurde mal beigebracht soviel in die DB zu packen wie geht also würde ich das auch in die db packen.

Thema: Delete in 3 Schichten Architektur
Am im Forum: Datentechnologien

Hallo,

ich würde das 1. Modell nehmen.
Programmierer sind doch sooo faul... :o)

nee, spass bei seite, warum soll das frontend das löschen der schüler und noten durchführen. Habe mal gerlernt, dass man soviel funktionalität wie möglich in die DB packen sollte...

Der geschäftsfall heißt "lösche Klasse" und die DB muss dann eben wissen, dass sie eben alle schüler und deren noten löschen muss. das muss doch nicht das fontend wissen, oder?

aber belehrt mich eines besseren!! ist auch für mich eine sehr interessante frage.

grüße von der ostsee!!

Thema: Dateien aus Gridview löschen
Am im Forum: Web-Technologien

hallo,

ich würde eine Tabelle als DataSource erstellen und das reinpacken was du in dem Grid sehen willst...

		
DataTable tbl = new DataTable("tblFiles");
tbl.Columns.Add("FullName");
tbl.Columns.Add("Length");
foreach (string file in Directory.GetFiles(@"c:\"))
{
	tbl.Rows.Add(new FileInfo(file).FullName, new FileInfo(file).Length.ToString());
}
dateien.DataSource = tbl;
dateien.DataBind();

löschen der Datei kannst du ja dann in einem try catch machen. den fullname in der Datei hast du ja über das FileInfo. kannst im Grid ablegen aber die spalte verstecken, oder legst dir eine liste mit allen dateien ab. wenn das Löschen der Datei erfolgreich war, kann du die zeile aus dem grid löschen.

Thema: Dateien aus Gridview löschen
Am im Forum: Web-Technologien

hallo,

ja aber was packst du in datasouorce?

eine DataSet, eine DataTable?

poste mal ein bißchen code...

Thema: Dateien aus Gridview löschen
Am im Forum: Web-Technologien

Hallo,

wie läßt du die dateien denn im grid anzeigen?
also wie kommen deine informationen in das grid?

datasource, datamember?

du solltest dir irgendwo in einer spalte die nicht zu sehen ist den komplenten pfad der datei merken und dann die der löschen methode die datei löschen und dann erst die zeile aus dem grid.

ist erstmal nur eine überlegung. hab ich selbst auch noch nie gemacht...

grüße von der ostsee

Thema: problem mit WindowsIdentity
Am im Forum: Netzwerktechnologien

hi,

bin zwar nicht so erfahren in asp, aber ich denke, dass er dir nicht den nutzer anzeigt sondern den dienstprozess...

guck dir mal das an...

http://www.microsoft.com/germany/msdn/solve/knowhow/howto/cliententwicklung/WiekannichvoruebergehenddieIdentitaeteinesanderenBenutzersannehmen.mspx

oder schreib mal noch ein bißchen mehr was du machen willst.

Thema: neuen Process erkennen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

danke das hilft mir schon enorm weiter...!!

Thema: neuen Process erkennen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

da hab ich schon gesucht...

und nix gefunden,dass dem passt...

aber ich guck gerne nochmal!!

Thema: neuen Process erkennen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo zusammen,

mal eine kleine Frage.
Wie kann ich erkennen, dass ein neuer Process gestartet wurde?
Gibts da eine Möglichkeit.

Hintergrund ist der, dass ich eine Auflistung der startenden Prozesse in Echtzeit machen will.


DANKE!!!

Thema: BackgroundWorker Cancelled Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

nochmal herzlichen dank!!!

ihr seit doch die besten und die schnellsten!!!


einen schönen Tag!!

Thema: BackgroundWorker Cancelled Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

herbivore,

bitte entschuldige...ich sitze hier schon seit 9 und mach nichts anderes...

aber du bist wie immer der beste!!

DANKE!!


[Solved]
nur falls einer sich auch nochmal so anstellt wie ich

			if (!aLongTask.DoWork())
			{
				e.Cancel = true;
			}

Bye

Thema: BackgroundWorker Cancelled Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

okay wir kommen der sache langsam näher :o)

das e.cancel muss ich dann aber in abhängigkeit vom e.Result setzen, oder?

aber was steht da drin?

weil wenn ich das einfach auf true setze, ist es auch true wenn ich nicht abbreche...

hmm...

Thema: BackgroundWorker Cancelled Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo herbivore,

das kann es nicht sein, bringt kein Unterschied auch wenn du recht hast.
das ist natürlich auch ein fehler meinerseits!!
e.Cancelled ist aber trotzdem immer false, ob ich abbreche oder durchlaufen lasse.

Thema: BackgroundWorker Cancelled Property
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hallo,

ja hab ich!

ich poste sonst mal die ganze klasse:

	public partial class Form1 : Form
	{
		public Form1()
		{
			InitializeComponent();
			backgroundWorker1.WorkerReportsProgress = true;			// -> default = false!!
			backgroundWorker1.WorkerSupportsCancellation = true;	// -> defalut = false!!
			backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
			backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
			backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
		}

		void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
		{
			//eine Änderung bei dem Prozess
			this.progressBar1.Value = e.ProgressPercentage;
			label1.Text = e.UserState.ToString();
		}

		void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
		{
			//Worker fertig
			if (!e.Cancelled) //->hier ist immer false!!
				MessageBox.Show("Fertig!");
			else
				MessageBox.Show("Abbruch!");

		}

		void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
		{
			//Aufgabe anstoßen
			BgTask aLongTask = new BgTask(this.backgroundWorker1);
			aLongTask.DoWork();
		}

		private void button1_Click(object sender, EventArgs e)
		{
			backgroundWorker1.RunWorkerAsync();
		}

		private void button2_Click(object sender, EventArgs e)
		{
			this.backgroundWorker1.CancelAsync();
			//setzt die CancellationPending Property auf true
			//muss dann abgefragt werden
		}
	}

und das was im Hintergrund gemacht wird:

	class BgTask
	{
		private BackgroundWorker _bgWorker;

		public BgTask(BackgroundWorker bgWorker)
		{
			this._bgWorker = bgWorker;
		}

		public void DoWork()
		{
			for (int i = 0; i < 100; i++)
			{
				if (!this._bgWorker.CancellationPending) // abfragen, ob abgebrochen wurde
				{
					Thread.Sleep(100);
					this._bgWorker.ReportProgress(i, i + "x mal gepennt!");
				}
				else
				{
					//ggf. aufräumen und Dinge rückgängig machen!

					this._bgWorker.ReportProgress(100, "Abgebrochen!");
				}
			}
		}
	}