AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ShellExecute - assoc

Ein Thema von cran7 · begonnen am 15. Jan 2008 · letzter Beitrag vom 15. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#1

ShellExecute - assoc

  Alt 15. Jan 2008, 18:16
Ich hab hier n problem, ich will das man keine .bat's mehr ausführen kann. Ich dachte mir wieso nich mit assoc .bat = error (oder sonstwas) und später wieder rückgängig mit assoc .bat = batfile
ich habs mit shellexecute ausprobiert, aber das ging leider net.

ShellExecute(Application.Handle, 'open', 'cmd.exe', PChar('/C assoc .bat = batfile '), nil, SW_show); dann hab ichs noch in der Registry mit "DisableCMD" mit dem wert "2" probiert, aber das hat auch nicht hingehauen (mit dem wert 1 konnt ich CMD verbieten)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 18:26
du möchtest also das man auf deinem windows system keine *.bat dateien aus führen kann mehr nicht, oder was genau ist da jetzt die frage??

wenn du das verhindern willst, kannst du in dem reg schlüssel HKEY_CLASSES_ROOT\.bat den standart wert "batfile" ändern in "batfile1", und wenn du es wieder einschalten willst nimmst die 1 wieder weg..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#3

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 18:30
bigges THX, genau das was ich gesucht hab
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 18:37
da verlierst du allerdings die explorer symbole, und kannst mit der rechten maustaste nicht mehr drucken und gar nichts, wenn du das allerdings noch behalten willst, dann gehst du in den schlüssen "HKEY_CLASSES_ROOT\batfile\shell\open\command"

nun änderst du hier command wie oben (einfach ne 1 anhängen) und dann ist alles so wie vorher, kannst im popup menü der rechten maustaste noch drucken und so auswählen... nur nicht mehr ausführen..

willst das rückgängig machen, die 1 einfach wieder entfernen..

achja, für änderungen die du an deiner registry machst übernehm ich keine verantwortung


p.s. falls du oben mein 1 post schon befolgt hast musst du dort die eins auch wieder weg nehmen, wenn du es nach dem machen willst

das ganze sollte auch erst nach nem neustart funktionieren..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#5

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 18:54
also das ich keine bat mehr ausführen kann würde erst nach restart gehn? das is net so gut

und bei dem post drüber schaff ichs net das per reg zu machn... (ich kann noch rechtsklickn und andre sachn auf desktop ausführen)

Delphi-Quellcode:
procedure DisableBat(bTF: boolean);
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CLASSES_ROOT;

  reg.OpenKey('.bat', True);
  if bTF = true then
  begin
    reg.OpenKey('(Standard)', false);
    reg.WriteString('(Standard)', 'batfile1');
    reg.CloseKey;
  end
  else if bTF = false then
  begin
    reg.OpenKey('(Standard)', false);
    reg.WriteString('(Standard)', 'batfile');
    reg.CloseKey;
  end;
  reg.CloseKey;
end;
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 19:05
Was willst du tun? Und den Schlüssel (Standard) gibt es nicht, weder mit d noch mit t. Der Schlüssel ist ein Leerstring.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#7

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 19:31
das was lbccaleb in seinem ersten post gesagt hat, der wert dort heist (standard), manuel kann ich ihn verändern und es geht...
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 19:34
Zitat von cran7:
das was lbccaleb in seinem ersten post gesagt hat, der wert dort heist (standard), manuel kann ich ihn verändern und es geht...
Wie Du veränderst mich und es geht?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 19:35
NEIN, DER WERT HEISST NICHT STANDARD. Entschuldige bitte, dass ich schreie. Ich wiederhole: Der Schlüssel ist ein Leerstring. Was Regedit daraus macht, ist etwas anderes.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: ShellExecute - assoc

  Alt 15. Jan 2008, 19:43
ich glaube du musst das so aufrufen, um den standart string zu bekommen:
Delphi-Quellcode:
    reg.OpenKey('', false);
    reg.WriteString('', 'batfile1');
bin mir da aber jetzt so sicher, und das ist es doch was ihr meint??
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz