के लिए विंडोज फ़ायरवॉल नियम Windows XP पर Windows फ़ायरवॉल में प्रोग्रामेटिक रूप से कोई एप्लिकेशन या पोर्ट कैसे जोड़ें?XP
XP
उत्तर
इस कोड को हमारे खुला स्रोत SQlite3UI.pas इकाई से निकाले का प्रयास करें:
function GetXPFirewall(var fwMgr, profile: OleVariant): boolean;
begin
Result := (Win32Platform=VER_PLATFORM_WIN32_NT) and
(Win32MajorVersion>5) or ((Win32MajorVersion=5) and (Win32MinorVersion>0));
if result then // need Windows XP at least
try
fwMgr := CreateOleObject('HNetCfg.FwMgr');
profile := fwMgr.LocalPolicy.CurrentProfile;
except
on E: Exception do
result := false;
end;
end;
const
NET_FW_PROFILE_DOMAIN = 0;
NET_FW_PROFILE_STANDARD = 1;
NET_FW_IP_VERSION_ANY = 2;
NET_FW_IP_PROTOCOL_UDP = 17;
NET_FW_IP_PROTOCOL_TCP = 6;
NET_FW_SCOPE_ALL = 0;
NET_FW_SCOPE_LOCAL_SUBNET = 1;
procedure AddApplicationToXPFirewall(const EntryName, ApplicationPathAndExe: string);
var fwMgr, profile, app: OleVariant;
begin
if GetXPFirewall(fwMgr,profile) then
try
if profile.FirewallEnabled then begin
app := CreateOLEObject('HNetCfg.FwAuthorizedApplication');
try
app.ProcessImageFileName := ApplicationPathAndExe;
app.Name := EntryName;
app.Scope := NET_FW_SCOPE_ALL;
app.IpVersion := NET_FW_IP_VERSION_ANY;
app.Enabled :=true;
profile.AuthorizedApplications.Add(app);
finally
app := varNull;
end;
end;
finally
profile := varNull;
fwMgr := varNull;
end;
end;
procedure AddPortToXPFirewall(const EntryName: string; PortNumber: cardinal);
var fwMgr, profile, port: OleVariant;
begin
if GetXPFirewall(fwMgr,profile) then
try
if profile.FirewallEnabled then begin
port := CreateOLEObject('HNetCfg.FWOpenPort');
port.Name := EntryName;
port.Protocol := NET_FW_IP_PROTOCOL_TCP;
port.Port := PortNumber;
port.Scope := NET_FW_SCOPE_ALL;
port.Enabled := true;
profile.GloballyOpenPorts.Add(port);
end;
finally
port := varNull;
profile := varNull;
fwMgr := varNull;
end;
end;
यह करने के लिए आप की अनुमति देगा XP फ़ायरवॉल में कोई एप्लिकेशन या पोर्ट जोड़ें। डेल्फी 6 से XE तक काम करना चाहिए।
मैंने एक्सपी, विस्टा और सेवन पर काम करने के लिए इकाई के स्रोत को अद्यतन किया है, या तो एक पोर्ट के लिए, या तो एक आवेदन के लिए। Http://synopse.info/forum/viewtopic.php?pid=4652#p4652 देखें –
पटकथा Windows फ़ायरवॉल संभव है, उदाहरण के लिए Scripting the Windows Firewall
और कोड उदाहरण देखें here
मैं डेल्फी 7 का उपयोग करता हूं! –
डेल्फी 7 COM आधारित स्क्रिप्टिंग का समर्थन करता है – mjn
इस मामले में आपको टाइप लाइब्रेरी आयात करने का प्रयास करना चाहिए, मेरा लिंक देखें, यह उल्लेख करता है कि टाइप लाइब्रेरी DLL फ़ाइल 'आमतौर पर" सी: \ विंडोज \ System32 \ hnetcfg.dll "में स्थित है। (यह आलेख XP के बारे में है, मैंने विंडोज 7 में चेक किया है और इस नाम वाली एक फ़ाइल है) – mjn
- 1. XP
- 2. XP
- 3. Windows XP
- 4. विंडोज़ xp
- 5. विन XP
- 6. विंडोज़ XP
- 7. Window XP
- 8. विंडोज XP XP inet_pton या InetPton के बराबर क्या है?
- 9. विंडोज XP या उच्चतर
- 10. निगरानी Windows XP
- 11. विंडोज 7/XP
- 12. या तो Windows XP
- 13. जल्दी Windows XP
- 14. विंडो xp/7
- 15. cmake विंडोज़ XP
- 16. XP और Vista
- 17. ffmpeg h264 समस्या: XP
- 18. Agile/XP अनुमान
- 19. Windows XP कमांड लाइन
- 20. TextRenderer.DrawText XP बनाम Vista
- 21. Google वेबफोंट और विंडोज़ xp
- 22. XP/SCRUM के लिए कितना बड़ा है?
- 23. xp-dev.com के साथ कोई अनुभव?
- 24. Windows XP में ट्रे आइकन अजगर
- 25. XP के संदर्भ में रूपक क्या है?
- 26. py2exe के साथ निष्पादन योग्य विंडोज़ xp 32bit
- 27. प्रोग्रामेटिक रूप से रीसेट करें Windows XP IDLE समय
- 28. WampServer 2.0 (Windows XP) में FFMpeg को कैसे स्थापित करें
- 29. windows xp पर svn कमांड लाइन का उपयोग कैसे करें?
- 30. स्टेटसस्ट्रिप लेबल में स्ट्रिंग.फॉर्मैट() मान विन 7 बनाम विन XP
संभावित डुप्लिकेट [प्रोग्रामिंग रूप से विंडोज विस्टा फ़ायरवॉल में अपवाद जोड़ें।] (Http://stackoverflow.com/questions/1409896/programatically-add-exception-to-windows-vista-firewall) –
संभावित डुप्लिकेट [जोड़ें में जोड़ें फ़ायरवॉल अपवाद सूची] (http://stackoverflow.com/questions/2384718/add-to-firewall-exception-list) –
यह उत्तर केवल xp में काम करता है। संपादित शीर्षक से ओपी ने इसे और इसकी उपयोगी जानकारी स्वीकार कर ली, इसलिए केवल Win7 और विस्टा में डुप्लिकेट कामों के बाद से एक डुप्ली नहीं है। –