Laden...

Forenbeiträge von UncleBens Ingesamt 135 Beiträge

19.08.2013 - 15:07 Uhr

Hoi Geaz,

erstmal 👍, Dein Tool gefällt mir echt gut. 🙂

Beim ersten Testen, ist mir sharpdox aber in eine Exception gerannt beim Bauen des CHM-Files. Im chm\tmp Verzeichnis waren schon jede Menge Files, allerdings flog er mit folgender Exception raus:

Fehlermeldung:
2013-08-19 13:44:47,390: ERROR – System.IO.FileNotFoundException: Die Datei "D:\Dokumente und Einstellungen\MeinUser\Desktop\test\chm\tmp\MeinProjektName.chm" konnte nicht gefunden werden.
Dateiname: "D:\Dokumente und Einstellungen\MeinUser\Desktop\test\chm\tmp\MeinProjektName.chm"
bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
bei System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
bei ChmExporter.ChmFile.SaveTo(String path)
bei ChmExporter.ChmDocExporter.Export(SDRepository repository, String outputPath)
bei SharpDox.Build.Context.Steps.ExportStep.RunAllExporters(BuildContext buildContext)
bei SharpDox.Build.Context.Steps.ExportStep.ProcessStep(BuildContext buildContext)
bei SharpDox.Build.Context.BuildContext.StartBuild()
bei SharpDox.Build.Context.BuildContext.BuildDocumentation()

Habe dann mal lediglich das Output-Verzeichnis auf D:\Work\Sharpdox abgeändert und es nochmal probiert und schon gings.

Eventuell ein Problem wegen des Leerzeichens im Ordnername?

Aber wiegesagt: nur eine Kleinigkeit 🙂

Gruß
SYK

PS: wie vermutlich bereits am Pfad erratbar, habe ich es auf einem deutschen XP probiert

22.12.2012 - 13:38 Uhr

Um das Thema noch aufzuklären: ein freundlicher Microsoft-Mitarbeiter, Mike Kinsman, hatte sich wie versprochen des Themas angenommen und konnte alles zu meiner Zufriedenheit lösen: mittlerweile enthält das TechNet Standard Abo sowohl Visio 2013 Professional, als auch Project 2013 Professional 😃

26.11.2012 - 17:39 Uhr

@san-software: Danke für den Link, den kannte ich allerdings bereits.
So wirklich passt eigentlich keines der Kriterien auf Visio/Project... mit viel Fantasie vielleicht "die "nicht für eine von IT-Experten verwaltete Geschäftsumgebung vorgesehen sind". Allerdings wenn nicht in einer Geschäftsumgebung - wo nutzt man Visio/Project dann? ^^

26.11.2012 - 15:47 Uhr

Das Passwort ist verschlüsselt in der Konfig Datei und wird mittels Quellcode entschlüsselt. Da wird nichts in Klartext verschickt. Der Code allerdings hat natürlich das Passwort.

Nachdem Du Deinen Request Deinem Codeschnippsel nach über HTTP verschickst, wird das Passwort natürlich im Klartext verschickt 😉

22.11.2012 - 19:24 Uhr

Hi Ihr beiden,

herzlichen Dank für Eure Antwort!
Dass es nicht mal bei MSDN Pro runterladbar ist, verblüfft mich ja fast noch mehr 😃

Amüsante Randnotiz: vor 3 Wochen noch konnte ich Visio 2013 Standard runterladen und zwei Keys dafür generieren. Jetzt gerade nochmal geguckt... nun sehe ich Visio 2013 Standard nicht mehr, kann aber dafür Professional herunterladen (bringt mir nur leider nichts, weil mir trotzdem nur meine beiden Standard-Keys angezeigt werden, die ich vor 3 Wochen generiert hab und die wohl kaum - ich habs noch net probiert, aber würde wenig Sinn machen - mit der Professional funktionieren werden).
Irgendwie treibt Microsoft da grade komische Dinge.

Falls es jemanden interessiert, hier noch der Link zu meinem Thread im TechNet-Forum. Da hat mir ein Microsoft-Mitarbeiter für nächste Woche eine Antwort zugesagt.

Ciao
Ben

21.11.2012 - 18:34 Uhr

Schönen guten Abend zusammen,

könnte bitte mal jemand mit einer MSDN-Subscription gucken, ob er Project 2013 Standard zum Download angeboten bekommt?

Hintergrund der Frage: ich bin TechNet Standard Subscriber und finde nur Project 2013 Professional (welches ich mit meiner Standard Subscription aber nicht herunterladen darf). Laut customer service sei das normal so und eine Management-Entscheidung. Ich sollte im TechNet-Forum nachfragen, da würden auch Kollegen aus dem Management lesen.

Mich würde nun interessieren, ob das nur TechNet betrifft, oder ob in MSDN auch "nur" Professional angeboten wird.
Erstaunlicherweise gibt es sowohl Office 2013 Standard, als auch Visio 2013 Standard und - jetzt wirds total konfus - Project Server 2013 (welchen ich sogar als Standard-User downloaden dürfte oO).

Viele Grüße
Ben

[EDIT: Typo]

12.10.2012 - 12:35 Uhr

Ich brauche mal kurz Support zum Support-Tool von IBM... soll ich jetzt Tor 3 oder doch lieber den roten Umschlag nehmen? 😃

28.08.2012 - 15:12 Uhr

Und in die Richtung klingt dann das Surface-Tablet ganz interessant - wenn darauf auch irgendwann VS und nicht-Store-Apps laufen sollten, wäre das eine echte Alternative zu einem Laptop.

Warum sollten VS und "nicht-Store-Apps" nicht auf Surface laufen? Es wird ja auch ein x86-Surface geben, für welches die Einschränkungen der ARM-Geräte nicht gelten. "Irgendwann" soll 2-3 Monate nach Einführung der ARM-Variante (= 26. Oktober) sein.

Ob's von der Performance her Spaß macht, wird sich aber wohl zeigen müssen 😉

19.09.2011 - 11:54 Uhr

Hmm, der Anzeigename eines Windows-Services ist doch nur ein Wert in der Registry

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services[Dienst] hat einen String-Wert "DisplayName". Eigentlich sollte ausreichen, wenn Du den Wert änderst und Windows neu startest. Grade mal ausprobiert, danach war in services.msc mein selbst vergebener DisplayName zu sehen.

02.08.2011 - 14:06 Uhr

Meine Steuerelemente benutze ich aus 2 DLLs - den DevComponents.

Ich schätze mal, Du meinst die DotNetBar?

Kanns sein, dass Du auf Deinem privaten Rechner eine andere Version der DotNetBar installiert hast, als auf dem Firmenrechner? In die Falle bin ich schon öfter getappt: aufm Desktop 9.x.x installiert gehabt und aufm Notebook 9.x.x+1
-> ging nicht 😃

10.04.2011 - 12:45 Uhr

Wenn es Dir hauptsächlich um eine weitgehend automatisierte Update-Funktionalität geht, könnte vielleicht auch Maximilians Projekt für Dich interessant sein: updateSystem.NET

09.04.2011 - 15:20 Uhr

Stimmt, hab's grade mal ausprobiert, das Verhalten habe ich bei mir auch. Anscheinend ist nicht zwingend das Fenster im Vordergrund auch das "active Window". Die Doku im MSDN lässt auch ein bisschen darauf schließen: "Retrieves the window handle to the active window attached to the calling thread's message queue"

Was bei mir aber funktioniert: wenn ich GetForegroundWindow ("Retrieves a handle to the foreground window (the window with which the user is currently working).") statt GetActiveWindow verwende.

08.04.2011 - 10:27 Uhr

Das Handle des aktuellen Fensters kannst Du über die Funktion GetActiveWindow aus der Win32API erhalten.

[Edit: einigen Unsinn entfernt... wie Th69 richtig erwähnt hat, macht es natürlich wenig Sinn, Window-Handle mit einem Prozess-Handle zu vergleichen 😉 ]

06.04.2011 - 17:32 Uhr

Und die Erklärung, warum es mit der MessageBox funktioniert hat, ist ähnlich simpel: weil eben diese dann statt der RTB das Strg+V abbekommen hat (und damit nix anfangen kann) 😉

01.04.2011 - 13:01 Uhr

Ich war auch drauf und dran, einen erbosten Kommentar zu tippen - bis mir wieder eingefallen ist, welchen Tag wir heute haben 😉

31.03.2011 - 19:00 Uhr

MS sei Dank 😉

Mit WMI sollte ich zum Ziel kommen...

ManagementObjectSearcher mos = new ManagementObjectSearcher("select caption from Win32_UserAccount where Name = 'tchef");
            foreach (ManagementObject mobject in mos.Get())
            {
                Console.WriteLine(mobject["caption"].ToString());
            }
            Console.ReadKey();

In caption steckt MEINEDOMAIN\tchef
Muss zwar noch ein paar Kleinigkeiten umbauen, aber damit sollte es gehen.

31.03.2011 - 18:07 Uhr

Vermutlich willst du aber auch eher SUSER_SNAME() nutzen.

Klar, meine ich - sorry... aber hey, wenigstens konsequent sowohl in der Überschrift als auch im eigentlichen Content vertippt 😉

Kurz zum Verständnis, was ich eigentlich machen möchte... vielleicht denke ich ja auch von hinten durch die Brust ins Auge und jemand hat eine bessere Idee.

Ich habe eine Tabelle, bei der ich Berechtigungen auf Row-Level nutze, wie in folgendem MSDN-Artikel beschrieben:
http://msdn.microsoft.com/de-de/library/bb669076.aspx

Das klappt grundsätzlich auch wunderbar, allerdings habe ich einen kleinen Extrawunsch: zusätzlich zum aktuellen User, soll auch dessen Manager den Datensatz lesen können. Den aus dem Manager-Attribut des aktuellen Users im AD auszulesen, ist grundsätzlich auch kein Problem.
Aber: der Manager ist im AD-Attribut im Format CN=Toller Chef,CN=Users,DC=meinedomain,DC=de gespeichert. Ich brauche ihn aber im gleichen Format, wie ihn mir SUSER_SNAME zurückliefert, also etwa MEINEDOMAIN\tchef.
Dummerweise gibt es aber kein Attribut am AD-User, in welchem dieses Format gespeichert wäre. Den UPN gibt es allerdings (nämlich im gleichnamigen Attribut userPrincipalName). Daher auch meine Frage, ob man SUSER_SNAME irgendwie als UPN zurückliefern lassen kann. Aber vielleicht gibts ja noch einen anderen Lösungsansatz, den mir momentan das Brett vor meinem Kopf verdeckt 😉

@Mods: sorry, das Thema schwankt etwas zwischen Daten- und Netzwerktechnologien... momentan wahrscheinlich mit etwas Übergewicht in Richtung AD/Netz... falls Ihr das Thema eher im Netzwerkbereich seht und den Thread verschieben wollt: feel free 😁

31.03.2011 - 11:38 Uhr

Hallo zusammen,

gibt es eine Möglichkeit, vom SQL Server (2008 R2) den Namen des aktuell via Windows Authentication verbundenen Users als UPN (Universal Principal Name) zu erhalten?

SUSER_NAME() liefert den Namen im Format DOMAIN\User... ich bräuchte aber user@domain.de

Besten Dank schonmal für Tipps
SYK

29.03.2011 - 19:49 Uhr

IP, Port, Benutzer, PW.

Gerhard

Und wer oder was lauscht auf dem Port?

21.03.2011 - 18:43 Uhr

Ich... versteh Deinen Code ehrlichgesagt nicht wirklich - bzw. was konkret Du damit erreichen willst.

Soll Deine Klasse TextDatei dazu dienen, die EXE aus den Ressourcen auszulesen und ins Temp-Verzeichnis zu schreiben? Warum so kompliziert? Hast Du Dir das Beispielprojekt aus dem von mir verlinkten Thread angesehen? Das sind 3 Zeilen Code...

Und wo greifst Du überhaupt auf die Ressourcen zu? Die einzigen Aufrufe die ich diesbezüglich sehe, sind die beiden, mit denen Du ein BackgroundImage setzt. Wo ist denn der Zugriff auf das EXE?

Fragen über Fragen 😉

21.03.2011 - 17:38 Uhr

Ob die EXE in den Ressourcen eine .NET-Anwendung ist oder nicht ist an der Stelle irrelevant.

Poste doch mal Deinen Code...

21.03.2011 - 09:47 Uhr

Guten Morgen,

wie wäre es denn, erstmal die Forensuche zu bemühen? 😉

Ressourcen Exe ausführen - Relativer Pfad

Gruß
SYK

15.03.2011 - 10:52 Uhr

Mir wäre keine Bordmittelfunktion von Windows bekannt, die das ermöglicht.

Vermutlich wirst Du eine zweite, immer im Hintergrund laufende Anwendung brauchen, die überwacht ob der Rechner gesperrt ist oder nicht und bei der entsprechenden Statusänderung Deine "Hauptanwendung" startet.

Wie man herausfindet, ob der Rechner gesperrt ist erzählt Onkel Google etwa in Detect if Workstation is locked

02.03.2011 - 12:31 Uhr

Danke für dem Tipp mit der Notification Class, bei MSDN hab ich leider nur eine Notification Class im Bezug auf Win CE gefunden, hättest evtl. eine Info Quelle.

Ich denke, gemeint war: Du sollst Dir eine eigene, statische Klasse schreiben... ob Du die nun Notification, Reminder oder Donaudampfschifffahrtskapitaen nennst, bleibt Dir überlassen. Notification wäre aber ein naheliegender Name 😉

23.02.2011 - 17:54 Uhr

Habe wie versprochen mal den Artikel rausgesucht...
Soweit ich's überblicke, müsste Dir der Artikel weiterhelfen können, er widmet sich der User Interface Automation (System.Windows.Automation).

Kannst ja mal in der Richtung in der MSDN suchen, ob Du dort was findest, das Dir weiterhilft. Ansonsten wären vielleicht die 15 Euro für das Nachbestellen der Ausgabe gut investiert 😃

23.02.2011 - 08:05 Uhr

Ich bilde mir ein, ich hätte in der dotnetpro mal einen Artikel gelesen, der in die Richtung ging. Glaube, da wurde anhand der calc.exe beschrieben, wie man auf Steuerelemente einer fremden Applikation zugreifen kann.
Wenn ich mich nicht irre, war es der hier:

http://www.dotnetpro.de/articles/onlinearticle2838.aspx

Werd heute Abend zu Hause mal mein Archiv durchwühlen und gucken ob der Artikel was für Dich ist

22.02.2011 - 09:31 Uhr

Ich stimme JAck30lena zu... wobei sich manche der Anforderungen von icolor, etwa das Festlegen von Zeitkontingenten, ja bereits mit Bordmitteln von Windows 7 realisieren lassen (Stichwort "Parental Controls"), was definitiv sicherer sein dürfte, als etwas selbst "gebasteltes".

Und ohne hier eine Grundsatzdiskussion führen bzw. zu stark Off-Topic driften zu wollen: grundsätzlich ist es sowieso sinnvoller, den Kindern einen verantwortungsvollen Umgang mit dem PC sowie dem Medium Internet beizubringen, etwa Kinder bis zu einem gewissen Alter bei ihren Tätigkeiten am PC zu begleiten und darüber zu sprechen welche Gefahren dort lauern. Verhindern können dass das Kind letztlich doch etwas tut, was Dir nicht gefällt wirst Du letztlich sowieso weder mit Verboten, noch mit technischer Überwachung. Notfalls geht Sohnemann eben zu einem Freund dessen Eltern das nicht so eng sehen oder Töchterchen investiert ein paar Euro Taschengeld und surft ungeniert im nächsten Internetcafé auf der von Dir verbotenen Seite.

War übrigens auch vor kurzem ein recht ausführlicher Bericht in der c't zu dem Thema...

08.02.2011 - 14:13 Uhr

Hallo Ingo,

wie wäre es denn mit einer etwas genaueren Fehlerbeschreibung... Code... Exceptions? Etwas mehr Infos als "geht nicht" baucht man schon, um Dir helfen zu können.

Gruß
Ben

03.02.2011 - 08:04 Uhr

Hi Trekki,

ich hab sowas auch mal für ein Projekt verwendet, ist aber schon gut zwei Jahre her. Ich hab damals den Fullscreen "selbst gebaut". Frag mich aber bitte nicht warum... möglich, dass das VLC-Control damals toggleFullscreen noch nicht angeboten hat, oder vielleicht hatte ich auch das gleiche Problem wie Du.

Meine App hatte damals standardmäßig das Video auf einer Form nur in einem kleinen Fenster angezeigt und hat beim Druck von F2 in den Fullscreen gewechselt.

Hab Dir mal die relevanten Codeschnippsel rausgesucht:


  private void SetupPresentationWindow()
        {
            // Einsetzen von Double Buffering, um die Performance zu steigern
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);

            // frmMain erhält die Kontrolle über die Maus
            this.Capture = true;

            // Den Mauscursor verbergen, sowie frmMain für Fullscreen vorbereiten
            Cursor.Hide();
            Bounds = Screen.PrimaryScreen.Bounds;
            WindowState = FormWindowState.Maximized;
            ShowInTaskbar = false;
            DoubleBuffered = true;
            KeyPreview = true;
            BackgroundImageLayout = ImageLayout.Stretch;
                        
        }



    private void frmMain_KeyDown(object sender, KeyEventArgs e)
        {
            // Handling von Tastendruck-Events
            switch (e.KeyCode)
            {

               Case Keys.F2:
                    if (IsRunningFullScreen == false)
                    {
                        VLC.Left = 0;
                        VLC.Top = 0;
                        VLC.Width = Screen.PrimaryScreen.Bounds.Width;
                        VLC.Height = Screen.PrimaryScreen.Bounds.Height; 
                        IsRunningFullScreen = true;
                        
                    }
                    else
                    {
                        VLC.Left = 54;
                        VLC.Top = 270;
                        VLC.Width = 525;
                        VLC.Height = 404;
                        IsRunningFullScreen = false;
                        
                    }
                    break;
	     }
	}

Vielleicht hilft Dir das ja weiter...

Gruß
Ben

25.01.2011 - 11:07 Uhr

Hallo ala86,

ein ähnliches Thema wurde bereits in CMD-Konsole aus dem programm heraus ansteuern behandelt!

[edit]Auch das hier könnte helfen: externes Programm im Fenster der eigenen Anwendung ausführen[/edit]

Gruß
SYK

25.01.2011 - 08:07 Uhr

Moing zusammen,

alternativer Lösungsvorschlag zu dem von herbivore:
Du könntest auf den Forms den AcceptButton disablen und mittels eines Timers nach z.B. 2 Sekunden erst enablen.

Gruß
SYK

23.01.2010 - 14:55 Uhr

Hi 1mannlan,

das was Du ursprünglich tun wolltest, lässt sich auch mit 3 Zeilen Code lösen:


String myFile = Path.GetTempPath() + "\\StupidAppFromRes.exe";
File.WriteAllBytes(myFile, Properties.Resources.StupidApp);
System.Diagnostics.Process.Start(myFile);     

Ein Beispielprojekt hab ich Dir mal angehängt.

Gruß
Ben

14.02.2009 - 15:02 Uhr

Ahh sehr fein, danke für den Hinweis =)

14.02.2009 - 14:51 Uhr

Hi,

ich denke, dass die Overlay Icons für Dich interessant sein könnten. Deren Zweck ist es, dem User zu signalisieren, dass in der Anwendung grade etwas passiert ist. Über das Framework kommst du damit natürlich (noch) nicht zum Ziel, aber probier's doch mal mit folgender Win32-API:

HRESULT SetOverlayIcon (HWND, hwnd, HICON hIcon);

Was die Fortschrittsanzeige angeht:


HRESULT SetProgressState(HWND hwnd, TBPFLAG tbpFlag);
HRESULT SetProgressValue(HWND hwnd, ULONG ulCompleted, ULONG ulTotal);

Gruß
Ben