Laden...
Avatar #avatar-2643.jpg
wakestar myCSharp.de - Member
Software-Entwickler Luzern Dabei seit 15.11.2006 383 Beiträge
Benutzerbeschreibung

Forenbeiträge von wakestar Ingesamt 383 Beiträge

11.08.2007 - 20:03 Uhr

Original von winSharp93
Damit meint ich, dass ich keinen anderen Weg kenne.

achso ^^

Original von winSharp93
Vielleicht hilft dir ja
>
.

hab' ich auch schon ausprobiert. Das Ergebnis war dass die MessageBox ein hässliches weisses Icon in der Titlebar hatte. Wirklich übel X(

11.08.2007 - 19:43 Uhr

Hallo winSharp93

Original von winSharp93
mir ist eigentlich kein Weg bekannt.

http://msdn.microsoft.com/msdnmag/issues/02/11/CuttingEdge/
http://www.codeproject.com/cpp/dMsgBox.asp

Original von winSharp93
Aber wozu brauchst du denn den Handle?

Meine Anwendung "sitzt" grundsätzlich in der Systray. Das GUI sieht man nur, wenn man die Anwendung konfigurieren möchte (Doppelklick auf ein NotifyIcon).
Nun kann der Benutzer mit Globalen Shortcuts versch. Funktionen ausführen, welche man optional auch mit "Ja, Nein","Ok, Abbrechen" - MessageBoxen bestätigen kann.
Das Problem ist nun, dass diese MessageBox **manchmal **(ich kanns nicht genau sagen) nicht TopMost gezeigt wird (obwohl ich der GUI dieses Property verpasst habe). - Egal was für Anwendungen gerade offen sind, wenn der Shortcut getätigt wird soll diese MessageBox dem Benutzer gezeigt werden (nicht aber das GUI).
.. und das Handle bräuchte ich mal um mit SetWindowsPos zu experimentieren.

Original von winSharp93
Oft ist es deutlich einfacher, eine eigene Form anzuzeigen, anstatt eine MessageBox zu manipulieren.

Das werde ich wohl machen, wenn hier niemand eine geniale Idee hat.

Gruss
wakestar

[edit: spellcheck]

10.08.2007 - 22:37 Uhr

Hallo Community

Ich bräuchte das Handle eines mit MessageBox.Show(...) erzeugten Fensters.
Kommt man nur über Win32 Hooks daran oder kennt jemand eine andere Methode?

Gruss
wakestar

31.07.2007 - 11:16 Uhr

yup, damit das Ganze läuft müssen
A.) alle notwendigen DLL's vorhanden sein

B.) COM - Dll's in der Registry richtig eingetragen sein.
Alte DLLs mit regsvr32 registrieren.
Neue, mit dem .net - framework erstellte dll's mit regasm registrieren.

31.07.2007 - 11:09 Uhr

öhm, ist dieses TVModule ein ActiveX Objekt das Du in deinem Form hast?
Wenn ja musst Du schauen dass das Teil auch sauber installiert bzw. registriert ist.

30.07.2007 - 18:35 Uhr

Hallo Tokka

Bei uns ist alles im ERP - System (in unserem Fall MS Navision).
Das hat natürlich den Vorteil dass praktisch alle notwendigen Stammdaten an einem Ort sind.

Die Zeit welche ich für Projektaufgaben einmal erfasse wird schlussendlich für Rapportierung, Fakturierung, interne Auswertungen, etc. verwendet.
Die Rapportierung pro Kunde / Projekt / Teilaktivität, etc. ist kein Problem.

gruss
wakestar

30.07.2007 - 18:12 Uhr

System.Runtime.InteropServices.COMException (0x80040154): Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

Versuch mal mit diesem Tool herauszufinden, welche Klasse nicht registriert ist:

http://www.blunck.se/comtrace/comtrace.html

wakestar

30.07.2007 - 17:46 Uhr

hi

standardmässig nein, würd' ich sagen.

mit


regasm deinAssembly.dll /regfile:deinAssembly.reg

kann Du dir die Registry-Einträge in eine Datei schreiben lassen.

du könntest evtl. im Setup-Projekt die Registry abgrasen und nach diesen Einträgen suchen...
würd' ich persönlich aber nicht machen... ist wahrscheinlich nur ein Gebastel das nicht viel bringt.

wakestar

27.07.2007 - 18:59 Uhr

COM and .NET Interoperability von ANDREW TROELSEN

http://apress.com/free/vslive/getbook.html?bid=1

24.07.2007 - 18:52 Uhr

Hallo herbivore

...nein, falsch ist es sicher nicht. - Das lokale Sperrobjekt lass ich so.

Pulse, PulseAll oder Wait verwende ich nicht... aber Monitor.Exit wird ja ausgeführt weil ich das lock schlüsselwort verwende.
Folgende Methode wird im sekundentakt von einem Timer aufgerufen. ReadFile prüft zuerst ob eine gewisse Datei exisitiert, wenn ja.. wird diese verabeitet und gelöscht.


private void OnTimer(object state)
{
    lock (this.m_lock)
    {
        if (this.ReadFile(pathFilename))
        {
            this.DeleteFile(pathFilename);
        }
    }
}

24.07.2007 - 18:20 Uhr

Hallo herbivore

... und trotzdem ist es nicht 100% wasserdicht.

Hatte vorhin eine SynchronizationLockException (nachdem die Anwendung den ganzen Tag problemlos funktionierte).

wakestar

23.07.2007 - 15:14 Uhr

....
das entspricht im Prinzip eines lock(this) zu Beginn der Methode. Wie aber auch bei lock(this) ist generell Vorsicht geboten. Führt schnell zu Deadlocks, wenn man nicht aufpasst.

Hallo svenson

Nur zum Verständnis.. wenn man anstelle des 'lock(this)' ein privates Feld als Sperrobjekt nimmt sollte man nicht so schnell reinlaufen, oder? - Vorausgesetzt der Code innerhalb des lock {} führt nicht ins Nirvana.


internal sealed class MyClass {

private Object m_lock = new Object();

public void DoSomething() {
    lock(m_lock) {
    // auf gemeinsame Ressourcen zugreifen...
    }    
}

19.07.2007 - 17:05 Uhr

Original von oli001

Kann mir da niemand hefen?

tief durchatmen, Invoke - Beispiel in der Hilfe suchen, ausdrucken und mit dem selbstgeschriebenen Code vergleichen...

so hab' ich schon viele Probleme gelöst 😉

edit: ähm ja... da war jemand schneller 🙂

17.07.2007 - 16:12 Uhr

hallo DarKlajid

wie sieht denn diese "legacy schnittstelle" aus? welche sprache wird verwendet?

wakestar

13.07.2007 - 00:01 Uhr

GetForegroundWindow
um genau zu sein 😉

11.07.2007 - 23:42 Uhr

Original von Da-Ben
Wenn Interesse besteht kann ich die Klasse auch hier anhängen.

*Interesse hab*! 🙂

07.07.2007 - 15:00 Uhr

Kannst du etwas code (snippet) posten um das zu reproduzieren?

edit: spellcheck

02.07.2007 - 19:22 Uhr

hi

Betr. COM-Aufrufe: Optionale und default parameter sind nicht CLS konform.
Soviel ich weiss geht's aber mit vb.net, **nicht ** mit c#.

edit: spellcheck

02.07.2007 - 17:36 Uhr

Hier hast du ein ganzes Buch zu diesem Thema:

"COM and .NET Interoperability" von ANDREW TROELSEN

http://apress.com/free/vslive/getbook.html?bid=1

28.06.2007 - 18:56 Uhr

machst du noch was mit threads? [STAThread] gesetzt?

31.05.2007 - 23:30 Uhr

Spontan....

Die Verurteilten (The Shawshank Redemption)

Schindler's List

Der Pianist

Heat

Scarface

Reservoir Dogs

Donnie Brasco

22.05.2007 - 15:56 Uhr

Original von Haggy
Habs

das problem war, dass die TopMost eigenschaft von aussen verändert wurde.

Ist aber auch schade dass man forms nicht auf nicht topmost anzeigen kann 😦

Das Beste wäre einfach direkt auf den screen zeichnen zu können, dafür kenne ich aber keine möglichkeit

Hallo Haggy

Ich hab' das kürzlich auch gebraucht. - In meinem Fall konnte ich das mit dem Form.ShowWithoutActivation - Property lösen.

wakestar

18.05.2007 - 13:08 Uhr

Hallo Leute

Ich hab' mal ein Setup-Projekt erstellt mit VS2005. Die Lokalisierung hab' ich auf Deutsch umgestellt und beim Build kommt prompt die Warnung:
Could not match culture 'de-DE' for item '.NET Framework 2.0'. Using culture 'en' instead.

... irgendwie logisch, da dass .NET Framework 2.0 Language Pack nicht aufgelistet ist im 'Prerequisites' - Form.

und wenn ich auf den Link "Check Microsoft Update for more redistributable components' klicke, komm ich auf diese Seite....
http://msdn2.microsoft.com/en-us/vstudio/default.aspx
🤔

wie bringt man das German Language Pack in die 'Prerequisites' Auswahl?

wakestar

18.05.2007 - 12:53 Uhr

hat sich erledigt...

Da es sich bei den Gadgets um nicht viel mehr handelt als HTML + Java- /VBScript, löse ich das Ganze mit einem Windows-Dienst, welcher XML - Files generiert, welche wiederum vom Gadget gelesen werden.

wakestar

10.05.2007 - 18:49 Uhr

Hallo Leute

Ich bin zurzeit damit beschäftigt, einen CTI - Client (Telefonie...) zu entwickeln welcher schlussendlich in der Vista Sidebar als Gadget landen soll. Wenn also jemand anruft, soll das Gadget gleich alle möglichen Infos anhand der Tel.-Nr. ausspucken (mit Hilfe des ERP-Systems). Einen Prototypen als Winform hab ich gemacht. Die Architektur sieht einfach gesagt so aus:

Winform <-> TapiEx - ActiveX Control <-> Tapi Server Standard Tapi driver <-> Tapi Server.
Das ActiveX Control lauscht und feuert einen Event sobald das Telefon klingelt.

Frage: Wie und wo soll nun der Event der ActiveX - Komponente registriert und gefeuert werden wenn ich das Ganze als Gadget in der Side brauche?
In Sachen Web-Entwicklung beweg ich mich da auf Glatteis... ich blick nicht durch wie das funktionieren soll.

wakestar

09.05.2007 - 14:04 Uhr

Hallo herbivore

Ich denke da kommt es vor allem auf den Chef drauf an. Ich hab' die Erfahrung gemacht dass es kein Problem ist. - Ich hatte schon vor über zwei Jahren mit meinem Chef über Jobangebote gesprochen und bin immer noch in der selben Firma.

Aber grundsätzlich sollte man schon vorsichtig / feinfühlig sein.

wakestar

09.05.2007 - 13:31 Uhr

Ich würde mal (wenn möglich) einen Tag "schnuppern" in der neuen Firma. Dann siehst Du auch ob dort das Chaos herrscht oder ganz normal gearbeitet werden kann. Ich würde versuchen, so wiel wie möglich von den Mitarbeitern zu erfahren.

Geld ist zwar geil... aber das Arbeitsklima ist (langfristig gesehen) wichtiger.

[EDIT]
.. und wenn alles gut aussieht, würde ich auch so wie es Borg schon geschrieben hat, deine Vorgesetzten darüber informieren und allenfalls verhandeln.

02.03.2007 - 10:28 Uhr

Original von Xqgene
Die Anwendung (Navision) selbst kann ich nicht wirklich SQL-mäßig beeinflussen.

Hallo Xqgene

In Zusammenhang mit Navision & SQL-Performance gab's kürzlich gute Webcasts. Siehe download - section bei mibuso.com.

Betr. Navision im Allgemeinen:
Wird eigentlich das Property 'AltSearchField' verwendet? Das ist eigentlich für solche Sachen gedacht. Beispiel: Artikel-Nr. hat als alternatives Suchfeld 'Suchbegriff'.
Nun kann der Benutzer z.Bsp. in der Verkaufszeile im Feld 'Nummer' auch den einen Suchbegriff abfüllen und das System füllt autom. die Artikelnr. ein.
Voraussetzung ist natürlich dass das Feld 'Suchbegriff' sinnvoll abgefüllt ist und genügend lang ist.

gruss
wakestar

01.03.2007 - 21:07 Uhr

hallo Xqgene

würd' mich interessieren: ist die Volltext-Suche vom SQL-Server nun die Lösung für dein Problem?

gruss
wakestar

28.02.2007 - 11:10 Uhr

Original von DarKlajid
Deine Deklaration von PostMessage sieht auch sehr seltsam aus..
Eine Nachricht hat normalerweise einen numerischen LParam und einen WParam. Wo und wieso du da einen String reinzauberst ist mir unklar.

sieht zwar seltsam aus, ist aber tatsächlich auf pinvoke.net unter den "common c# overloads" aufgelistet

edit: sorry, ich meine nicht PostMessage sondern SendMessage

20.02.2007 - 14:55 Uhr

mein absoluter favorit:

*problem beim coden*
*lösung such*
*da keine lösung... zu kaffeemaschine geh, tasse drunter stell und knopf drück*
*bis tasse voll vorher kurz toilette benütz*
auf toilette: neue idee für problemlösung hab
*zurück-zum-pc und problem lös*

...und irgendwann merk dass kaffeetasse fehlt 🙂

17.02.2007 - 17:44 Uhr

Ich war mal für längere Zeit in Kanada. Eines Tages war ich im Busbahnhof in Vancouver und wollte mit dem Greyhound richtung Calgary. Als ich mir einen Kaffee holen wollte, traf ich plötzlich einen alten Kollegen hier aus meinem Heimatort!?! Mann haben wir uns doof angeschaut 🙂

14.02.2007 - 17:17 Uhr

Hallo herbivore

Original von herbivore
Die Komplexität kommt aber aus den Möglichkeiten der Textverarbeitung und hat nichts mit XML zu tun. Wenn man ein anderes Speicherformat gewählt hätte, wäre die Spezifikation nicht kürzer.

Dass das nichts mit XML zu tun hat ist absolut richtig. Meine Aussage bezog sich nicht auf XML als Format sondern auf die von Microsoft definierte Spezifikation: http://www.ecma-international.org/publications/standards/Ecma-376.htm
(vor allem Part 4 ist ganz lustig ...)

gruss
wakestar

14.02.2007 - 15:49 Uhr

Hallo Community

Mich würd' es interessieren, wer sich schon intensiv mit 'Office Open XML' beschäftigt.

Daher:

  • was ihr schon realisiert habt und was geplant ist
  • wie ihr mit bestehenden Anwendungen (welche bereits über eine Office - Anbindung ans Office 2000 / 2003 haben) umgeht
  • verwendet ihr schon Komponenten von Drittanbietern für die (vereinfachte) Erstellung von 'Office Open XML' - Dokumenten oder schreibt ihr da alles selber
  • oder ist das noch kein Thema weil ODF sich durchsetzen wird (?)

Ich pers. bin noch ganz am Anfang was das Wissen über das neue Format angeht. Die Komplexität der 'Office Open XML' - Spezifikation gibt mir schon etwas zu denken.
Mein pers. Ziel ist, eine saubere Anbindung vom Office 2007 zum ERP-Produkt Navision zu realisieren, was aber nicht ganz so trivial ist.

Gruss
wakestar

08.02.2007 - 23:53 Uhr

Hallo Leute

Ich hab' ein Buch von Jeffrey Richter vor mir liegen: http://www.amazon.de/Microsoft-NET-Framework-Programmierung-Expertenwissen-Framework/dp/3860639846

und auf Seite 43 stehen ganze viele Pro/Contras NGen bzw JitCompiler

vor allem interessant:

Falls Sie also mit NGen.exe die Leistung Ihrer Anwendung steigern wollen, sollten Sie die mit NGen komplierte und die ursprüngliche Version miteinander vergleichen, um sicherzustsellen, dass die NGen - Version ** nicht sogar langsamer ist.**"

gruss
wakestar

08.02.2007 - 00:18 Uhr

hi rauchmelder

wenn das mit dem "Kontextmenüeintrag nur bei JPEG Bilder und Ordern anzeigen" kein Muss-Kriterium ist, könntest Du das Ganze mit dem "SendTo" - Ordner lösen.
Einfach eine Verknüpfung zu deiner *.exe in den SendTo-Ordner schmeissen und
in

Main(string[] args)

steht dann welche Datei "gesendet" wurde.

gruss
wakestar

06.02.2007 - 17:10 Uhr

[EDIT]Abgetrennt von Forum Security & CAS[/EDIT]

Original von Haggy
ich hab da einen ganzen haufen an fragen 🙂

hey cool, ich auch! willst du tauschen? 😁

ich frage mich ob nun es an mir liegt oder ob nur wenige leute CAS etc. "richtig" einsetzen 🤔

Ich muss mich nun auch mit diesem Kapitel beschäftigen. Mein erster Eindruck ist, das CAS nur dort eingesetzt werden kann wo auch viel Geld ist.... also in grösseren Unternehmen wo Security ein sehr wichtiger Faktor ist. - Denn der Aufwand bzw. Kosten sind m.E. sehr hoch. - Das Ganze ist komplex. Dann kommt hinzu dass CAS eigentlich nur mit reinen managed - Anwendungen angewendet werden kann. - Sobald man "unmanaged" wird kann man das ganze Konzept vergesseen. Das heisst CAS ist uns eigentlich einige Jahre voraus.

Villeicht kann mich jemand aus der Praxis vom Gegenteil überzeugen? Würde mich sehr interessieren.

gruss
wakestar

01.02.2007 - 18:01 Uhr

Original von dr4g0n76
Hat sich erledigt, wenn ich eine DLL nehme, scheint es zu gehen.

EDIT: hmmm... aber nicht immer... obwohl sie im GAC unter C:\windows\Assembly zu sehen ist...

hi

villeicht verrät dieser hier http://www.nirsoft.net/dot_net_tools/gac_viewer.html
was bei deiner DLL anders bzw. falsch ist.

Ansonsten weiss ich auch nichts anderes als dem Blog http://blogs.msdn.com/astebner/archive/2005/11/28/497693.aspx
zu folgen

29.01.2007 - 11:39 Uhr

hallo telnet

Es könnte sein dass VBA structs nicht unterstützt (nur eine Vermutung)

Testhalber würd' ich mal versuchen das DLL mit VB6 aufzurufen.

gruss
wakestar

26.01.2007 - 17:46 Uhr

Original von norman_timo
@all:
Alkoholiker ist laut Definition "regelmäßiges" Trinken. Das wäre man dann hart übertrieben auch, wenn man lediglich zu Sylvester ein Glas Sekt trinkt.

Derjenige der das definiert hat war wahrscheinlich sturzbesoffen....
Alkoholiker haben m.E. die Alkoholkrankheit ... sind also abhängig.

Bei uns in der Firma steht ein Kühlschrank und wir trinken nach Feierabend zusammen ein Bier. - Muss überhaupt nicht täglich sein und das ist gut so.

gruss
wakestar

25.01.2007 - 15:36 Uhr

also wenn ich zurzeit aus dem Fenster schaue dann geht es mir eiskalt den Rücken runter und somit hab' ich am Abend definitiv keine Lust auf Ausgang.
Darum --> Freunde einladen, DVD's, Pokern, Quatschen, Zocken, was auch immer...
Und am weekend kann man auf die Bretter wenns schön ist.

Sobald der sch**** Winter vorbei ist, dreht sich das Ganze ... und dann bin ich wieder in der Natur---> avatar

25.01.2007 - 13:12 Uhr

ansonsten kann man im VS 2005 (obs in der Express - Version geht weiss ich nicht) in den Projekteigenschaften ein neues snk-file erstellen und das Assembly damit signieren. Das snk - File beinhaltet den private und den public key.

19.01.2007 - 01:14 Uhr

wie wärs damit?


        uint WM_MOUSEACTIVATE = 0x21

        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            if (m.Msg == WM_MOUSEACTIVATE)
            {
                m.Result = (IntPtr)WM_MOUSEACTIVATE;
            }
        }

Erste Testergebnisse: kein Focus-Verlust in der externen Applikation und Doppelklick bzw. Context-Menü in meinem Form funktioniert trotzdem 8)
Sonstige Controls hab ich noch nicht getestet.. morgen ist ja auch noch ein Tag.

18.01.2007 - 14:44 Uhr

Original von Borg
Leite davon ein Control ab...

Du meinst neue Controls erstellen, welche von ToolsStrip erben?
Ich denke das ist ein sehr grosser Aufwand oder täusch ich mich?
Schlussendich brauch ich eigentlich praktisch alle 'Common - Controls' wie z.Bsp. TextBox,ListBox,etc.

18.01.2007 - 14:22 Uhr

Hallo Leute

muss etwas ausholen:

Ich bin auf das Form - Property 'ShowWithoutActivation' gestossen, da ich ein Form habe, welches sich in einer externen Applikation einbettet (SetParent - WinApi).
Die Applikation ruft mein Form auf, behält aber den Focus da ich das Property mit TRUE überschreibe. - Das ist so gewünscht und funktioniert tiptop.

Problem:
Das Problem kommt aber sobald ich auf mein Form klicke--> dann verliert die Externe Aplikation den Focus und ich muss ihn wieder zurückgeben mit einem COM-Event welcher wiederdum der externen Applikation sagt "aktivier mich". - Ist sehr unschön, da die Externe Applikation für einen Moment flackert.

Lösung?
In der Help von 'ShowWithoutActivation' steht:
If your non-activated window needs to use UI controls, you should consider using the ToolStrip controls, such as ToolStripDropDown. These controls are windowless, and will not cause a window to activate when they are selected.

Test:
Gesagt, getan: Wenn ich so ein ToolStripDropDown - Control auf mein Form schmeisse und anklicke, verliert die externe Applikation den Focus nicht und muss somit auch keinen Event mehr auslösen.

Frage:
Kann ich dieses Verhalten des ToolStrip - Controls auf mein Form und evtl. auch auf andere Controls übertragen? So dass die externe Applikation immer den Focus behält? Hab kein plan wo ich ansetzen soll.

Google sagt C++ und ActiveX ... aber ich brauch C# und .NET 🙂

17.01.2007 - 21:11 Uhr

Alles klar,
bei meiner Lösung ist auch nicht alles perfekt: manchmal flackert die Navision-Titlebar für einen Augenblick wenn ich auf das .net - Form klicke, da Navision den Focus verliert und wieder erhält.

Im 'form_Activated' Event rufe ich den COM - Event 'SetFocus' auf--> was wiederum im Navision ein CurrFrom.ACTIVATE feuert.
Verbesserungsvorschläge sind willkommen 😁