Autor Beitrag
rob87
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Do 09.08.07 08:50 
Hallo,

ich habe mit ShellScript eine "Software" (Batch-Datei) erstellt, die jedem Menüpunkt versch. IP-Adressen mit zugehöriger Subnetzmaske, GW, DNS etc. gespeichert hat.

Sobald ich eine Menüauswahl treffen, macht er mir diese Einstellungen in meinen (W-)LAN-Verbindungen.


Nun würde ich diese Batch-Datei gerne als Delphi-Projekt gestalten. Hat jemand ne Ahnung, wie das gehen könnte?


Hier mal der Code der Batch-Datei:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
cls
@echo off
MODE CON LINES=32
MODE CON COLS=37
setlocal
:menue
cls
color 70
echo.
 
 
echo  ===================================
echo  =                                 =
echo  = Bitte waehlen sie ein Profil!   =
echo  =                                 =
echo  ===================================
echo.
echo  ===================================
echo  =                                 =
echo  = 1: Daheim   (DHCP)              =
echo  = 2: Arbeit   (100.20)            =
echo  = 3: Arbeit2  (106.29)            =
echo  = 0: Menue verlassen              =
echo  =                                 =
echo  ===================================
echo. 
set /p Auswahl=
IF "%Auswahl%"=="1" goto daheim
IF "%Auswahl%"=="2" goto arbeit
IF "%Auswahl%"=="3" goto arbeit2
IF "%Auswahl%"=="0" goto exit



:daheim
cls
echo.
echo  ===================================
echo  =                                 =
echo  = Einstellungen aendern fuer:     =
echo  =                                 =
echo  = * LAN-Verbindung 2              =
echo  =                                 =
echo  =   IP Adresse:   DHCP            =
echo  =   Subnetzmaske: DHCP            =
echo  =   Gateway:      DHCP            =
echo  =   DNS:          DHCP            =
echo  =                                 =
echo  = * Drucker                       =
echo  =                                 =
echo  =   Canon PIXMA IP1600            =
echo  =                                 =
echo  ===================================
echo.
netsh interface ip set address "Drahtlose Netzwerkverbindung" dhcp
netsh interface ip set dns "Drahtlose Netzwerkverbindung" dhcp
rundll32 printui.dll,PrintUIEntry /y /n "Microsoft Image Writer"
goto ausgang


echo =  Hab mal übersichtshalber einen Teil weggelassen =


 
:ausgang
echo.
echo  ===================================
echo  =                                 =
echo  = Einstellungen wurden gesetzt.   =
echo  =                                 =
echo  = Zum Beenden, beliebige Taste!   =
echo  =                                 =
echo  ===================================
PAUSE > Nul
EXIT
 
:exit
EXIT


Zuletzt bearbeitet von rob87 am Do 09.08.07 10:15, insgesamt 1-mal bearbeitet
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 09.08.07 09:02 
Als Konsole oder als grafische Anwendung?

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Do 09.08.07 09:05 
Gut dass du fragst. ;-)

Also grafische Anwendung. Denn als Konsole hab ich se ja in ner Batch-Datei in gewisser Weise auch.

Mit Buttons und so *lol*
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Do 09.08.07 09:49 
Man kann das vermutlich über API-Funktionen realisieren, dazu müsstest du mal in der MSDN nachsehen. Die Quick'n'dirty-Lösung wäre, die relevanten Befehle (netsh, rundll32 printui...) mit ShellExecute bzw. CreateProcess von deinem Delphiprogramm aus aufzurufen - das würde dir zusätzlich gestatten, auszuwerten, ob die Befehle erfolgreich waren:

AXMD
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Do 09.08.07 09:57 
Könntest du mir die Quick'n'Dirrty-Funktion genauer erklären.

Ich bin ein absoluter Delphi-Neuling.

Ich möcht praktisch paar Buttons haben und jede sollt für eine menüausführung (inkl. kurzer anzeige der einstellungen) stehen.

und dann vll. noch einen reset button
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Do 09.08.07 09:59 
Einfach mal die Forensuche bzw. die Delphihilfe nach den beiden Befehlen befragen ;)

Suche in der Entwickler-Ecke SHELLEXECUTE
Suche in der Entwickler-Ecke CREATEPROCESS

ShellExecute ist für dich vermutlich einfacher, da es weniger Parameter benötigt :)

AXMD
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: Fr 10.08.07 02:40 
user profile iconrob87 hat folgendes geschrieben:
Hallo,

ich habe mit ShellScript eine "Software" (Batch-Datei) erstellt, die jedem Menüpunkt versch. IP-Adressen mit zugehöriger Subnetzmaske, GW, DNS etc. gespeichert hat.

Sobald ich eine Menüauswahl treffen, macht er mir diese Einstellungen in meinen (W-)LAN-Verbindungen.


Nun würde ich diese Batch-Datei gerne als Delphi-Projekt gestalten. Hat jemand ne Ahnung, wie das gehen könnte?

...


In meiner SDK-Hilfe steht da irgendwo ganz lapidar: "...obsolete...should use the registry."

Soll wohl heissen, man muss die entsprechenden Werte in der Registry direkt setzen, z.B. unter Services\TCPIP.

Gruss Reinhard
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Fr 10.08.07 09:37 
Also ich hab nun im Internet ein Programm gefunden, welches diese Aufgaben für mich erledigt.

Aber ich wollts halt selber machen ;-)


Irgendwie krieg ich des mit ShellExecute auch noch hin. ;-)
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Fr 10.08.07 10:02 
Machs - wie Reinhard sagte - direkt in der Registry. Siehe Suche in der Entwickler-Ecke TREGISTRY.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
rob87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 461

Win Me, Win XP Home, Win XP Prof
Delphi 2007 Enterprise
BeitragVerfasst: Fr 10.08.07 10:07 
Ich guck mal ob ich des zambring ;-)