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 live2
Thema: ZVT-Protokoll
Am im Forum: Rund um die Programmierung

Hallo die Frage ist bereits etwas älter aber ich habe dazu ein Projekt auf GitHub gefunden das sich sehr Intensiv mit dem Thema auseinandersetzt.
Es gibt dort auch eine Test Software mit der du verschiedene Funktionen ausprobieren kannst.

https://github.com/Portalum/Portalum.Payment.Zvt

Thema: Unmanaged C++ DLLs in Visual Studio Project hinterlegen
Am im Forum: Rund um die Programmierung

Ich habe auch noch andere DLLs die nicht auf nuget verfügbar sind. Meine Frage geht mehr in die Richtung wie andere Entwickler mit dieser Problem Stellung umgehen.

Thema: Unmanaged C++ DLLs in Visual Studio Project hinterlegen
Am im Forum: Rund um die Programmierung

Hallo Zusammen

Ich hab ein C# Projekt in dem ich mehrere unmanaged DLLs (OpenCV) benötige. Das Projekt selbst ist auch ein Library Projekt. Ich möchte dieses als nuget Paket bereitstellen.

Ich habe jetzt eine Lösung gefunden bei der ich die unmanaged DLLs zum nuget paket hinzufügen kann und diese werden dann per install.ps1 ins ziel projekt verlinkt und so eingestellt das sie beim kompilieren mit kopiert werden. Die Lösung finde ich grundsätzlich nicht so schlecht, nur werden die ganzen DLLs jetzt direkt in der obersten Ebene vom Ziel Projekt verlinkt das macht das ganze ein wenig unübersichtlich. Auch sind die OpenCV DLLs recht groß und es ergibt sich ein riesiges Paket mit mehr als 20MB.

Mich würde interessieren wie ihr diese Problem Stellung angeht, mir ist es wichtig das ich nicht von irgendwelchen Laufwerken DLL Dateien rum kopieren muss.

Danke für euer Feedback

Thema: Wie starte ich mit Angular und dem Visual Studio?
Am im Forum: Web-Technologien

Hallo Zusammen

Vielen Dank für die Informationen, ich bin nun auch schon ein wenig weitergekommen beim einarbeiten.

Folgende 2 Möglichkeiten finde ich interessant:

1) Die Lösung von LaTino, hier bekommt man ein angular Projekt der aktuellen Version 4 und das ganze in ein Visual Studio Projekt verpackt mit asp.net Controller Anbindung und schon einem kleineren Seiten Aufbau als Demo Anwendung sowie man es sich bei MVC gewöhnt war. Über den Umweg das Projekt per Command Line zu generieren.

2) Visual Studio Code installieren, NodeJS installieren und dann per "npm install -g @angular/cli" die angular-cli installieren. Hier kann dann auch wieder per Command Line ein Projekt erstellt werden das aber kein Visual Studio Projekt ist sondern ein Ordner mit ein paar configs und allen benötigten Dateien. Das Projekt wird dann mit "ng new PROJECT-NAME" erstellt und gestartet wird das ganze dann auch per "ng serve". Das Webprojekt was man hier erhält ist sehr bescheiden ein einfacher Demo Text fertig...

Um angular Component, Directive, Pipe, ... zu erstellen arbeitet man auch wieder in der Command Line und gibt hier die befehle ein, die dann die benötigten Dateien und Ordner erstellen.



Wobei ich derzeit eher auf Vorschlag 2 tendiere da man hier mehr Beispiele findet. Auch ist Visual Studio Code echt sehr flott. Und man somit auch eine klare Trennung zwischen dem Frontend und dem Backend hinbekommt. Ich werde sobald ich noch mehr Erfahrungen gesammelt hab hier nochmal meine Erfahrung posten.

Thema: Wie starte ich mit Angular und dem Visual Studio?
Am im Forum: Web-Technologien

Hallo Zusammen

Ich war längere Zeit nicht mehr mit Webentwicklung beschäftigt habe zwar hin und wieder etwas mit MVC entwickelt würde jetzt aber bei Angular 4 gerne wieder einsteigen.

Ich habe mich heute schon ein wenig damit auseinander gesetzt nur finde ich nicht wirklich den richtigen Start in die Materie.

Welchen Projekttyp verwendet ihr im Visual Studio für Angular früher bei Version 1 hat man ja das ganze noch per nuget nach installiert das fehlt mir jetzt komplett auch habe ich gelesen man soll das Controller Projekt vom Frontend (CSS, Views, Typescirpt, Javascript) trennen... Installier ich jetzt nodejs für das Frontend und lade mir die ganzen Abhängigkeiten über die angular cli? Ich hab leider keinen guten Leitfaden gefunden. Könnt ihr mir hier etwas empfehlen?

Vielen Dank
live2

Thema: Und nochmal eine Feiertagsberechnung
Am im Forum: .NET-Komponenten und C#-Snippets

Zu diesem Thema gibt es auch ein C# Projekt auf Github. Die Feiertage werden auch Dynamisch berechnet und es werden derzeit 23 Länder unterstützt. Deutschland ist eines davon, die Bundesländer werden auch berücksichtigt

https://github.com/tinohager/Nager.Date


var publicHolidays = DateSystem.GetPublicHoliday("DE", 2017);
foreach (var publicHoliday in publicHolidays)
{
    Console.WriteLine(publicHoliday.Name);
}

Thema: Netzwerk-Traffic aufzeichnen und wieder abspielen
Am im Forum: Netzwerktechnologien

@Coder007 Ich habe beim letzten Versuch mit Wireshark und der GUI gearbeitet. Die GUI war nach einem Tag nicht mehr ansprechbar. Es hat aber weiterhin die Pakete aufgezeichnet. Nur beim abspielen meldete er dann das ein Problem mit dem File vorliegt.

@Chilic Ich habe den Service auf 2 Verschiedenen Servern installiert. Auch wenn ich den Socket Layer stoppe und wieder starte ohne den ganzen Prozess zu beenden dann läuft es auch wieder für eine Zeit weiter, verhängt sich dann aber schneller wieder als wenn ich den Prozess komplett beende.

@Weismat Ich werde es mal mit windump versuchen. Danke für den Tipp. Mal schauen ob ich hier bessere Files erzeugen kann.
Habe den Prozess nun an gestartet "WinDump.exe -C 200 -w traffic.pcap -s 0 -n port 53"

Generell noch ein mehr Informationen zum Projekt. Ich baue derzeit an einem Dns Server der auf TCP und UDP Anfragen antwortet. Das System läuft grundlegend schon sehr gut. Wie schon oben beschrieben fällt meistens der Nameserver1 nach einer bestimmten Zeit aus. Die Pakete habe ich auch schon ein wenig analysiert und teilweise kommen update Pakete die eigentlich nicht daher kommen sollten. Daher gehe ich schwer davon aus das eh mit korrupten Paketen zusammenhängt. Das Problem was ich dann aus den Logfiles entnehmen kann liegt mit dem senden der Antworten zusammen, da stellt es ihn irgendwo auf. Evtl. fälscht jemand die IP das möchte ich eben über ein Traffic Logfile herausfinden.

Grundsätzlich läuft der Dienst weiter kann aber keine Antworten mehr versenden. Ich habe einen Zähler eingebaut beim Senden der Antwort und dieser zählt dann ins unendliche hoch wenn der Fehler auftritt.

Testweise habe ich nun einen der beiden Services auf .NET 4.5 umgestellt. Der zweite läuft auf dem .NET 4.0 Framework.

Thema: Netzwerk-Traffic aufzeichnen und wieder abspielen
Am im Forum: Netzwerktechnologien

Ich setze bei meinem Projekt für die untere Schicht auf ein bewährtes Socket Framework. Dieses verwende ich auch schon bei einem anderem Projekt. Dort läuft über Monate ohne Fehler. Der einzige unterschied im ersten Projekt verwende ich TCP beim neuen benötige ich UDP. Das Betriebssystem schließe ich aus, da nach einem Service Neustart alles wieder einwandfrei funktioniert.

Ich habe schon in einem Test 200 Millionen Request produziert und der Server lief einwandfrei. Ich gehe davon aus das korrupte UDP Pakete für den Fehler verwantwortlich sind. Ich muss aber diese Korrupten UDP Pakete zuerst identifizieren und möchte diese dann dem Entwickler zukommen lassen.

Thema: Netzwerk-Traffic aufzeichnen und wieder abspielen
Am im Forum: Netzwerktechnologien

Hallo Abt

Danke für den netten Google Link. Ich poste hier im Forum um mit Menschen zu kommunizieren die schon vor der gleichen Herausforderung standen. Und einen besseren und vielleicht einfacheren Weg gefunden haben. Ich habe mich ja auch schon mit der Thematik auseinandergesetzt und mit Wireshark 2 Wochen den Traffic aufzunehmen und wieder abzuspielen scheint für mich nicht der optimale Weg zu sein.

Also wenn du wirklich helfen möchtest dann würde ich dich bitten Antworten zu verfassen die Hilfreich sind. Ansonsten kann ich gleich Google benutzen. Ich denke aber das Forum hier soll eine alternative zu Google darstellen.

Danke

Thema: Netzwerk-Traffic aufzeichnen und wieder abspielen
Am im Forum: Netzwerktechnologien

Hallo Abt

Hast du denn schon mal Traffic aufgezeichnet und diesen dann mit Wireshark wieder abgespielt? Gibt es hier ein gutes HowTo?

Danke

Thema: Netzwerk-Traffic aufzeichnen und wieder abspielen
Am im Forum: Netzwerktechnologien

Hallo Zusammen

Ich programmiere derzeit an einem UDP-Server in meiner Test Umgebung läuft alles einwandfrei sobald er aber im Live Betrieb läuft gibt er nach 50 bis 80 Millionen Request seinen dienst auf. Nun möchte ich mir den Traffic aufzeichnen damit ich ihn dann im Debug Modus analysieren kann.

Kennt jemand ein einfaches Tool dafür?

Bin bisher erst über wireshark und ostinato gestoßen. Wireshark scheint mir zu überdimensioniert für meinen Fall. Ostinato muss ich mir noch im Detail ansehen.

Vielen Dank
live2

Thema: Regex Problem mit Sonderzeichen erkennung ^
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

@herbivore

Super nun funktioniert es. Ich dachte ich muss allen Zeichen die ich nicht will ein ^ voranstellen.

Vielen Dank für die Prompte Hilfe!

Thema: Regex Problem mit Sonderzeichen erkennung ^
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Zusammen

Ich erstelle gerade eine Funktion die Sonderzeichen rausfiltern soll. Es funktioniert einwandfrei. Nur ein spezielles Sonderzeichen "^" kommt immer durch wenn ich den Punkt hinzufüge mit "^\." an was kann das liegen?



ListUserData[i].Street = "Meine Straße^";

                    Regex regex = new Regex(@"[^a-z^0-9^ä^á^à^â^ã^ö^ó^ò^ô^ü^é^è^ë^í^ß^\-^\.]", RegexOptions.IgnoreCase);
                    if (regex.IsMatch(ListUserData[i].Street))
                    {
                     //gefunden
                    }


Danke für eure Hilfe

Thema: Probleme mit dem UpdatePanel und selbsterstelltem Control
Am im Forum: Web-Technologien

Den Button habe ich ins selbe Update Panel gelegt. Das Problem ist das die AJAX unterstützung für mein Control nicht funktioniert. Brauch ich vielleicht noch ein zusätzliches Interface?

lg

Thema: Probleme mit dem UpdatePanel und selbsterstelltem Control
Am im Forum: Web-Technologien

Habe mir ein kleines Control gebaut das eine Bullet List erstellt wenn ich das ganze nun in ein Update Panel stecke funktioniert es nicht mit einem Button Control aus der Standart Pallete im selben Update Panel funktioniert es einwandfrei.


Mein Control


using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Collections;
using System.Collections.Specialized;
using System.Web.UI.WebControls;
namespace NagerControls
{
    public class BulletMenuEventArgs : EventArgs
    {
        public string Selected;

        public BulletMenuEventArgs(string Selected)
        {
            this.Selected = Selected;
        }
    }

    public class BulletMenu : Control, IPostBackDataHandler, IPostBackEventHandler
    {
        private string _selected = "";
        public List<string> test = new List<string>();
        public event EventHandler<BulletMenuEventArgs> OnClick;

        public bool LoadPostData(string postDataKey, NameValueCollection values)
        {
            return true;
        }

        public void RaisePostDataChangedEvent()
        {
            //nothing 
        }

        public void RaisePostBackEvent(string eventArgument)
        {
            if (OnClick != null)
            {
                OnClick(this, new BulletMenuEventArgs(eventArgument));
            }


            this._selected = eventArgument;
        }

        protected override void Render(HtmlTextWriter output)
        {
            ClientScriptManager clientscriptmanager = this.Page.ClientScript;
            string style = "";

            output.Write("<ul>");
            for (int i = 0; i < test.Count; i++)
            {
                style = "";
                if (test[i] == this._selected)
                {
                    style = " style=\"font-weight:bold;\"";
                }
                output.Write("<li" + style + " onclick=\"" + clientscriptmanager.GetPostBackEventReference(this, test[i]) + "\"" + ">" + test[i] + "</li>");
            }
            output.Write("</ul>");

        }
    }
}



Default.aspx.cs


using System;
using System.Configuration;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using NagerControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        List<string> test = new List<string>();
        test.Add("location1");
        test.Add("location2");
        test.Add("location3");
        test.Add("location4");
        test.Add("location5");


        BulletMenu bulletmenu = new BulletMenu();
        bulletmenu.test = test;
        bulletmenu.OnClick += new EventHandler<BulletMenuEventArgs>(bulletmenu_OnClick);

        Button button = new Button();
        button.Text = "test";
        button.Click += new EventHandler(button_Click);

        this.Panel1.Controls.Add(bulletmenu);
        this.Panel1.Controls.Add(button);

    }

    void button_Click(object sender, EventArgs e)
    {
        LiteralControl literalcontrol = new LiteralControl();
        literalcontrol.Text = "test";
        this.Panel2.Controls.Add(literalcontrol);
    }

    void bulletmenu_OnClick(object sender, BulletMenuEventArgs e)
    {
        LiteralControl literalcontrol = new LiteralControl();
        literalcontrol.Text = e.Selected;
        this.Panel2.Controls.Add(literalcontrol);
    }

}

Default.aspx


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <link href="StyleSheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <div style="float:left; border:1px solid #DDDDDD; width:200px;">
                <asp:Panel ID="Panel1" runat="server"></asp:Panel>
                </div>
                <div style="float:left; border:1px solid #DDDDDD; width:200px;">
                <asp:Panel ID="Panel2" runat="server"></asp:Panel>
                </div>
                <div style="clear:left;"></div>
            </ContentTemplate>
        </asp:UpdatePanel>

        
    </form>
    
</body>
</html>

Thema: WinAPI DllImport Dhcpcsvc.dll DhcpRequestParams
Am im Forum: Netzwerktechnologien

@svenson & sarabande

Danke für eure Antworten habe nun probiert das mal umzusetzen.

In DHCPAPI_PARAMS das hoffe ich ist nun richtig.

Aber den Teil im DHCPCAPI_PARAMS_ARRAY kapier ich nicht ganz wie übergebe ich dann das Array?

RecdParamsArray.Params = new DHCPCAPI_PARAMS[1];
RecdParamsArray.Params[0] = DhcpApiHostNameParams;

bekomme bei der jetztigen Version wieder den Fehler

[B]PInvokeStackImbalance wurde erkannt.[/B]
Ein Aufruf an die PInvoke-Funktion "WindowsApplication1!WindowsApplication1.Form1::DhcpRequestParams" hat das Gleichgewicht des Stapels gestört. Wahrscheinlich stimmt die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur überein. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Zielsignatur übereinstimmen.


        public const uint OPTION_HOST_NAME = 12;
        public const byte DHCPCAPI_REQUEST_PERSISTENT = 0x01;
        public const byte DHCPCAPI_REQUEST_SYNCHRONOUS = 0x02;
        public const byte DHCPCAPI_REQUEST_ASYNCHRONOUS = 0x04;
        public const byte DHCPCAPI_REQUEST_CANCEL = 0x08;
        public const byte DHCPCAPI_REQUEST_MASK = 0x0F;

        public struct DHCPCAPI_CLASSID
        {
            public uint Flags;
            public byte Data;
            public uint nBytesData;
        }

        public struct DHCPCAPI_PARAMS
        {
            public uint Flags;
            public uint OptionId;
            public bool IsVendor;
            public IntPtr Data;
            public uint nBytesData;
        }

        public struct DHCPCAPI_PARAMS_ARRAY
        {
            public long nParams;
            public IntPtr Params;
        }

        [DllImport("Dhcpcsvc.dll")]
        public static extern int DhcpRequestParams(byte Flags, IntPtr Reserved, [MarshalAs(UnmanagedType.LPWStr)] string AdapterName, ref DHCPCAPI_CLASSID ClassId, DHCPCAPI_PARAMS_ARRAY SendParams, ref DHCPCAPI_PARAMS_ARRAY RecdParams, byte[] Buffer, ref IntPtr pSize, [MarshalAs(UnmanagedType.LPWStr)] string RequestIdStr);

        private void button1_Click(object sender, EventArgs e)
        {
            

            DHCPCAPI_PARAMS DhcpApiHostNameParams = new DHCPCAPI_PARAMS();
            DhcpApiHostNameParams.Flags = 0;
            DhcpApiHostNameParams.OptionId = OPTION_HOST_NAME;
            DhcpApiHostNameParams.IsVendor = false;
            DhcpApiHostNameParams.Data = IntPtr.Zero;
            DhcpApiHostNameParams.nBytesData = 0;

            DHCPCAPI_PARAMS_ARRAY SendParamsArray = new DHCPCAPI_PARAMS_ARRAY();
            SendParamsArray.nParams = 0;
            //SendParamsArray.Params = null;
            SendParamsArray.Params = IntPtr.Zero;

            DHCPCAPI_PARAMS_ARRAY RecdParamsArray = new DHCPCAPI_PARAMS_ARRAY();
            RecdParamsArray.nParams = 1;
            RecdParamsArray.Params = new IntPtr(1);
            //RecdParamsArray.Params

            IntPtr Reserved = IntPtr.Zero;

            DHCPCAPI_CLASSID ClassId = new DHCPCAPI_CLASSID();
            ClassId.Flags = 0;
            ClassId.Data = new byte();
            ClassId.nBytesData = 0;

            IntPtr pSize = new IntPtr(1);

            string AdapterName = "{EF2BB926-7ACB-4577-BA27-488FFD2EE4E3}";
            //string AdapterName = "VMWare Accelerated AMD PCNet Adapter";

            DhcpRequestParams(DHCPCAPI_REQUEST_SYNCHRONOUS, Reserved, AdapterName, ref ClassId, SendParamsArray, ref RecdParamsArray, null, ref pSize, "1");

Thema: WinAPI DllImport Dhcpcsvc.dll DhcpRequestParams
Am im Forum: Netzwerktechnologien

Ein wenig weiter bin ich mitlerweile...


public const uint OPTION_HOST_NAME = 12;
public const byte DHCPCAPI_REQUEST_PERSISTENT = 0x01;
public const byte DHCPCAPI_REQUEST_SYNCHRONOUS = 0x02;
public const byte DHCPCAPI_REQUEST_ASYNCHRONOUS = 0x04;
public const byte DHCPCAPI_REQUEST_CANCEL = 0x08;
public const byte DHCPCAPI_REQUEST_MASK = 0x0F;

public struct DHCPCAPI_CLASSID
{
public uint Flags;
public byte Data;
public uint nBytesData;
}

public struct DHCPCAPI_PARAMS
{
public uint Flags;
public uint OptionId;
public bool IsVendor;
public byte Data;
public uint nBytesData;
}

public struct DHCPCAPI_PARAMS_ARRAY
{
public int nParams;
public DHCPCAPI_PARAMS[] Params;
}

[DllImport("Dhcpcsvc.dll";)]
public static extern int DhcpRequestParams(uint Flags, IntPtr Reserved, [MarshalAs(UnmanagedType.LPWStr)] string AdapterName, ref DHCPCAPI_CLASSID ClassId, DHCPCAPI_PARAMS_ARRAY SendParams, ref DHCPCAPI_PARAMS_ARRAY RecdParams, byte[] Buffer, ref IntPtr pSize, [MarshalAs(UnmanagedType.LPWStr)] string RequestIdStr);

private void button1_Click(object sender, EventArgs e)
{


DHCPCAPI_PARAMS DhcpApiHostNameParams = new DHCPCAPI_PARAMS();
DhcpApiHostNameParams.Flags = 0;
DhcpApiHostNameParams.OptionId = OPTION_HOST_NAME;
DhcpApiHostNameParams.IsVendor = false;
DhcpApiHostNameParams.Data = new byte();
DhcpApiHostNameParams.nBytesData = 0;

DHCPCAPI_PARAMS SendParams = new DHCPCAPI_PARAMS();
DhcpApiHostNameParams.Flags = 0;
DhcpApiHostNameParams.OptionId = 0;
DhcpApiHostNameParams.IsVendor = false;
DhcpApiHostNameParams.Data = new byte();
DhcpApiHostNameParams.nBytesData = 0;

DHCPCAPI_PARAMS_ARRAY SendParamsArray = new DHCPCAPI_PARAMS_ARRAY();
SendParamsArray.nParams = 0;
SendParamsArray.Params = new DHCPCAPI_PARAMS[1];
SendParamsArray.Params[0] = SendParams;

DHCPCAPI_PARAMS_ARRAY RecdParamsArray = new DHCPCAPI_PARAMS_ARRAY();
RecdParamsArray.nParams = 1;
RecdParamsArray.Params = new DHCPCAPI_PARAMS[1];
RecdParamsArray.Params[0] = DhcpApiHostNameParams;

IntPtr Reserved = IntPtr.Zero;
DHCPCAPI_CLASSID ClassId = new DHCPCAPI_CLASSID();
IntPtr pSize = new IntPtr(1);

string AdapterName = "{EF2BB926-7ACB-4577-BA27-488FFD2EE4E3}";
//string AdapterName = "VMWare Accelerated AMD PCNet Adapter";

DhcpRequestParams(2, Reserved, AdapterName, ref ClassId, SendParamsArray, ref RecdParamsArray, null, ref pSize, "1";);
}

Neue Fehler Meldung
ArgumentException bei SendParamsArray
Falscher Parameter. (Ausnahme von HRESULT: 0x80070057 (E_INVALIDARG))

Thema: WinAPI DllImport Dhcpcsvc.dll DhcpRequestParams
Am im Forum: Netzwerktechnologien

hab ich doch oben verlinkt


siehe Microsoft Dokumentation... ???

Thema: WinAPI DllImport Dhcpcsvc.dll DhcpRequestParams
Am im Forum: Netzwerktechnologien

Hallo Leute ich Versuche seit 2 Tagen vergeblich eine C++ komponente anzuprogrammieren.

Habe mein Script so weit fertig aber bekomme jetzt Fehler wie der folgenden...

Ein Aufruf an die PInvoke-Funktion "WindowsApplication1!WindowsApplication1.Form1::DhcpRequestParams" hat das Gleichgewicht des Stapels gestört. Wahrscheinlich stimmt die verwaltete PInvoke-Signatur nicht mit der nicht verwalteten Zielsignatur überein. Überprüfen Sie, ob die Aufrufkonvention und die Parameter der PInvoke-Signatur mit der nicht verwalteten Zielsignatur übereinstimmen.

Kennt sich jemand mit so sachen aus??

Würde gerne die Scope Option 66 Abfragen damit kann man den Boot Server den man am DHCP Server einstellt abfragen so weit ich das verstanden habe. Benötige diese Funktion um den optimalisten Software Server zur ermitteln.

Microsoft Dokumentation

hier noch was in VB

Bitte um Hilfe 8o


        const byte DHCPCAPI_REQUEST_PERSISTENT = 0x01;
        const byte DHCPCAPI_REQUEST_SYNCHRONOUS = 0x02;
        const byte DHCPCAPI_REQUEST_ASYNCHRONOUS = 0x04;
        const byte DHCPCAPI_REQUEST_CANCEL = 0x08;
        const byte DHCPCAPI_REQUEST_MASK = 0x0F;

        public struct DHCPCAPI_CLASSID
        {
            public long Flags;
            public byte Data;
            public long nBytesData;
        }

        public struct DHCPAPI_PARAMS
        {
            public long Flags;
            public long OptionId;
            public bool IsVendor;
            public byte Data;
            public long nBytesData;
        }

        public struct DHCPCAPI_PARAMS_ARRAY
        {
            public long nParams;
            public DHCPAPI_PARAMS Params;
        }

        [DllImport("Dhcpcsvc.dll")]
        public static extern int DhcpRequestParams(int Flags, IntPtr Reserved, [MarshalAs(UnmanagedType.LPWStr)] string AdapterName, DHCPCAPI_CLASSID ClassId, DHCPCAPI_PARAMS_ARRAY SendParams, ref DHCPCAPI_PARAMS_ARRAY RecdParams, byte[] Buffer, ref IntPtr pSize, [MarshalAs(UnmanagedType.LPWStr)] string RequestIdStr);

        private void button1_Click(object sender, EventArgs e)
        {
            DHCPCAPI_PARAMS DhcpApiHostNameParams = new DHCPCAPI_PARAMS();
            DhcpApiHostNameParams.Flags = 0;
            DhcpApiHostNameParams.OptionId = 66;
            DhcpApiHostNameParams.IsVendor = false;
            DhcpApiHostNameParams.Data = new byte();
            DhcpApiHostNameParams.nBytesData = 0;

            DHCPCAPI_PARAMS_ARRAY SendParams = new DHCPCAPI_PARAMS_ARRAY();
            SendParams.nParams = 0;
            SendParams.Params = new DHCPCAPI_PARAMS();

            DHCPCAPI_PARAMS_ARRAY RecdParams = new DHCPCAPI_PARAMS_ARRAY();
            RecdParams.nParams = 1;
            RecdParams.Params = DhcpApiHostNameParams;

            IntPtr Reserved = new IntPtr();
            DHCPCAPI_CLASSID ClassId = new DHCPCAPI_CLASSID();
            IntPtr pSize = new IntPtr(1);

            DhcpRequestParams(1, Reserved, "VMWare Accelerated AMD PCNet Adapter", ClassId, SendParams, ref RecdParams, null, ref pSize, "1");
        }

Thema: Primary Interop Assemblies optional einschalten
Am im Forum: Office-Technologien

das ist sehr hilfreich Danke

Thema: Primary Interop Assemblies optional einschalten
Am im Forum: Office-Technologien

hab leider mit dem Thema genau noch nichts gemacht hast vielleicht ein Paar gute Beiträge die ich mir anschauen soll?

oder ein kurzes Tut?

Thema: Primary Interop Assemblies optional einschalten
Am im Forum: Office-Technologien

hab schon alles in einer klasse reicht das?


using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Outlook;
using System.Windows.Forms;

namespace frontend
{
    class mapi_mail
    {
        public string[] start()
        {
            int mails=0;
            string subject = "";
            ApplicationClass OutlookApplication = new ApplicationClass();
            NameSpace outlookNamespace = OutlookApplication.GetNamespace("Mapi");


            // Postfächer und Ordner durchlaufen und Inbox suchen
            MAPIFolder inbox = null;
            MAPIFolder movefolder = null;

            for (int j = 1; j ≤ outlookNamespace.Session.Folders.Count; j++)
            {
                if (outlookNamespace.Session.Folders[j].Name == "Mailbox - Backupcheck")
                {
                    for (int k = 1; k ≤ outlookNamespace.Session.Folders[j].Folders.Count; k++)
                    {
                        if (outlookNamespace.Session.Folders[j].Folders[k].Name == "Inbox")
                        {
                            inbox = outlookNamespace.Session.Folders[j].Folders[k];
                        }
                        if (outlookNamespace.Session.Folders[j].Folders[k].Name == "Erledigt")
                        {
                            movefolder = outlookNamespace.Session.Folders[j].Folders[k];
                        }
                    }
                }
            }
            try
            {
                // Array erstellen in das die E-Mails abgelegt werden für die weitergabe
                mails = inbox.Items.Count;
                string[] container = new string[mails];

                for (int k = inbox.Items.Count; k > 0; k--)
                {
                    MailItem item = (MailItem) inbox.Items[k];
                    subject = item.Subject;
                    container[(k-1)] = subject.ToLower();
                    item.Move(movefolder);
                }
                return container;
            }
            catch
            {
                string[] container = null;
                return container;
                // Fehlerbehandlung
            }
        }
    }
}



Thema: Primary Interop Assemblies optional einschalten
Am im Forum: Office-Technologien

Ich baue an einer Software die eine zusätzliche Funktion haben soll mit der man email auslesen kann das Funktioniert soweit schon alles Prima.

Das Problem das ich derzeit habe ist das noch nicht alle Office2003 verwenden deshalb möchte ich es nur einschalten wenn er auch die benötigten komponenten besitzt - das Problem ist aber das meine Setup Routine (die integrierte von VS2005 - Veröffentlichen) die installation nicht ausführt wenn die Primary Interop Assemblies nicht installiert sind.

Wie kann ich das verhindern?

Danke live2

Thema: c# Microsft Terminal Services (RDP) - Windows Passwort auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

ok könntest du mir vielleicht nochmal kurz weiterhelfen, wie komme ich den zum binary passwort von windows?


lg live2

Thema: c# Microsft Terminal Services (RDP) - Windows Passwort auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

mir geht es ja nicht darum die Sicherheit zu unterwandern ich möchte nur nicht überall das Passwort wieder hinterlegen müssen, zum beispiel bei wlan applikationen die tkip verwenden ist es ja auch möglich dem treiber zu sagen die windows zugangsdaten zu verwenden. Oder Proxy authentifiezierung in einem Windows Netzwerk das selbe möchte ich eben in meinem Programm nutzen.

lg live2 ?(

Thema: Service beenden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

vielleicht hilft dir das ja weiter

Windows Services Admin: Control Your Windows Services


lg live2

Thema: c# Microsft Terminal Services (RDP) - Windows Passwort auslesen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich möchte in mein Programm die COM Komponente (Microsft Terminal Services) verbauen die im Visual Studio bereit gestellt wird. Bis jetzt habe ich immer direkt auf die mstsc.exe zugegriffen und im default.rdp das Passwort hinterlegt. Nun über die COM Komponente würde ich es geren auch so lösen das man das Passwort nicht nochmal eingeben muß (es soll das Windows Kennwort verwendet werden weil wir ja eh in einem Active Directory sind)!

Wie ist es möglich nun Automatisch das Passwort auszulesen mit dem sich der User angemeldet hat weil soweit ich das erkennen kann will die Komponente das Passwort im klartext...

Bitte um Hilfe

DANKE live2 =)

Thema: Windows Server (2000/2003) Drucker Verwaltung
Am im Forum: Rund um die Programmierung

nein nicht wirklich weil mit dem link greif ich ja direkt auf den Drucker zuh da habe ich aber immer noch nicht den Auftrag am Server gelöscht.

Thema: Windows Server (2000/2003) Drucker Verwaltung
Am im Forum: Rund um die Programmierung

Ziel des Projektes ist es ein Tool zu erstellen mit dem das Call Center dass nicht über Admin Rechte verfügt auch den Printer Spool leeren kann ohne das ich ihm die gewünschten Rechte hinterlegen muß. Die Benutzerkennung ist also im Programm verankert. Man kann dadurch auch eine Intranet Lösung anbieten, bei der man mit Protokolieren kann wenn jemand den Spool löscht zum Beispiel.

Thema: Windows Server (2000/2003) Drucker Verwaltung
Am im Forum: Rund um die Programmierung

Ich würde mich für ein Tool intressieren mit dem Ich an einem Druckserver die Drucker Verwalten kann hab mich auch schon ein wenig durchgelesen aber leider ohne erfolg. EInes habe ich schon raus gefunden die Drucker auslesen kann ich per LDAP.

Meine Kriterien
1) Möchte in einer Datei oder direkt im Programm die Zugangsdaten hinterlegen weil man ja spezielle berechtigungen dazu beönigt.

2) Möchte schauen ob der Drucker noch erreichbar ist könnte man mit einem einfachen Ping wahrscheinlich herausfinden dazu muß ich aber auch die Schnitstelle an der der Drucker angeschlossen ist auslesen können.

3) Möchte dann von jedem Drucker auf dem Printserver den ganzen Spool löschen oder einzelne Aufträge.

Ist das möglich mit C# und wenn ja gibt es wo gute Anleitungen dies bezüglich?


lg live2