cách chương trình trong chương trình C++/C/C# thay đổi nội dung tệp của máy chủ trong cửa sổ? Tôi biết điều này nghe có vẻ như lừa đảo, thành thật không.Làm cách nào để thay đổi tệp máy chủ trong chương trình cửa sổ?
Trả lời
Tệp máy chủ chỉ là văn bản thuần túy. Định dạng là mỗi dòng chứa IP và tên máy chủ mà IP cần giải quyết, được phân tách bằng khoảng trắng. #
biểu thị nhận xét.
Ví dụ:
# This is a comment-
127.0.0.1 mysuperhost.com
Các tập tin nằm ở đây: C:\Windows\system32\drivers\etc\hosts
. Bạn sẽ (với lý do chính đáng), cần đặc quyền quản trị viên để ghi vào nó.
Tệp thường được đặt tại C:\Windows\System32\drivers\etc\hosts
. Thay vì mã hóa cứng phần C:\Windows
, bạn nên sử dụng Environment.GetEnvironmentVariable("SystemRoot")
để xác định thư mục gốc của hệ thống một cách an toàn.
Nếu không, bạn có thể ghi vào nó như bất kỳ tệp nào khác, giả sử bạn có quyền thích hợp.
Hosts tập tin có định dạng rất đơn giản mà mỗi dòng có thể chứa "ip host" hồ sơ
Tất cả bạn cần là thường xuyên tập tin phụ thêm:
using (StreamWriter w = File.AppendText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "drivers/etc/hosts")))
{
w.WriteLine("123.123.123.123 FQDN");
}
Ghi chú rằng theo mặc định bạn sẽ cần phải đặc quyền nâng cao để ghi vào tệp máy chủ ...
Để hoàn nguyên, hãy sao lưu tệp và khôi phục tệp sau khi bạn hoàn tất.
Làm cách nào để xóa các mục nhập khi cần? – Volatil3
Trước tiên, bạn nên yêu cầu để được quản trị viên cho phép từ người dùng. Bạn có thể thực hiện việc này thông qua lớp Chương trình trong ứng dụng của mình. Đoạn mã dưới đây sẽ yêu cầu người dùng truy cập quản trị, sau đó người dùng có tùy chọn cho phép hoặc từ chối nó. Nếu họ từ chối nó, ví dụ này không chạy ứng dụng.
Khi ứng dụng của bạn chạy ở chế độ quản trị, văn bản thuần tuý của nó có định dạng đơn giản. Bạn thậm chí không cần tất cả các bình luận của Microsoft được đưa vào tệp, và việc phân tích cú pháp chuỗi đơn giản sẽ làm tốt. Các ý kiến của MSFT trong tệp HOSTS là tất cả các tài liệu mà bạn thực sự cần đến chừng nào tệp HOSTS của chính nó đi.
namespace Setup {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using Setup.Forms;
using System.Security.Principal;
using System.Diagnostics;
static class Program {
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool administrativeMode = principal.IsInRole(WindowsBuiltInRole.Administrator);
if (!administrativeMode) {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.Verb = "runas";
startInfo.FileName = Application.ExecutablePath;
try {
Process.Start(startInfo);
}
catch {
return;
}
return;
}
Application.Run(new ShellForm());
}
}
}
Lưu ý rằng bằng cách sao chép mã của bạn ở đây nó được phát hành hiệu quả theo CC-Wiki. Khối bản quyền không hiệu quả.Không chắc chắn nếu bạn muốn xóa khối bản quyền hoặc toàn bộ câu trả lời .... –
Tôi sở hữu DCOM Productions và tôi chỉ sao chép toàn bộ nội dung của tệp để có câu trả lời nhanh. Dù bằng cách nào nó không quan trọng, chỉ cần sử dụng nó để cho anh ta một cách tiếp cận cho câu hỏi của mình. Nếu tôi không muốn anh ấy sử dụng mã tôi sẽ không đăng tải chút nào. ;) –
OK. :) Chỉ cần không muốn bạn vô tình phát hành IP của bạn theo một giấy phép ít hạn chế hơn bạn dự định. –
Cách chính xác nhất của việc tìm kiếm vị trí file HOSTS là đọc phím HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
registry, và phụ thêm hosts
đến cùng.
Điều này sẽ luôn trỏ đến vị trí chính xác cho cấu hình máy hiện tại và hoạt động cho tất cả nền tảng dựa trên Windows NT kể từ Windows NT 4.0.
Thật không may điều này dường như không phải là trường hợp với các hệ điều hành hiện đại hơn. Cụ thể trên Windows 7, nếu bạn thay đổi giá trị DataBasePath, nó sẽ không sử dụng vị trí mới. –
Việc thay đổi giá trị có ảnh hưởng đến nó hay không, hoặc không phải là một vấn đề. Câu hỏi là làm thế nào để chỉnh sửa các tập tin host hiện tại, tôi chỉ đơn giản là đưa ra cách đáng tin cậy nhất để tìm tập tin đã nói. (Giả sử bạn đã không được rối tung trong registry.) Với mục đích đã cho, phương pháp này có giá trị từ Windows NT 4.0 lên đến và bao gồm Windows 8.1 Update 1 –
Là một chàng trai đấu tranh với vấn đề này, cách dễ dàng, sao chép tệp lưu trữ vào thư mục tạm thời, sửa đổi và sao chép lại bằng ghi đè. Chạy ứng dụng dưới dạng quản trị viên, sẽ là ứng dụng tốt nhất.
... Câu trả lời này giống như đi vào một diễn đàn sửa chữa xe hơi và nói với OP, "Cách dễ nhất là bắt đầu đi bộ đến các điểm đến của bạn thay vì sửa xe của bạn". – Shadoninja
- 1. Làm cách nào để thêm chương trình vào cửa sổ thêm/xóa danh sách chương trình
- 2. Máy chủ cửa sổ Subversion
- 3. Làm thế nào để thay đổi một Chủ cửa sổ bằng cách sử dụng tay cầm
- 4. Làm thế nào để giám sát quá trình thực hiện chương trình/trong cửa sổ?
- 5. Làm cách nào để chạy tệp java .jar dưới dạng dịch vụ cửa sổ trên máy chủ Windows 2008?
- 6. Cửa sổ máy chủ trong Eclipse
- 7. C# - Chương trình không có cửa sổ
- 8. Làm cách nào để làm mới cửa sổ máy tính để bàn theo chương trình (tức là F5) từ C#?
- 9. Làm cách nào để thay đổi màu văn bản trong lời nhắc lệnh của cửa sổ
- 10. Phóng to cửa sổ theo lập trình và ngăn người dùng thay đổi cửa sổ
- 11. emacs lập trình thay đổi kích thước cửa sổ
- 12. Làm cách nào để bảng tính mở Excel thay vì cửa sổ trình duyệt?
- 13. Làm cách nào để sao chép tệp hoặc thư mục bị khóa trong cửa sổ theo chương trình?
- 14. Tôi làm cách nào để thay đổi tên dịch vụ cửa sổ?
- 15. Trong Emacs, làm cách nào để thay đổi cửa sổ danh sách hoàn thành minibuffer?
- 16. Hadoop trên cửa sổ máy chủ
- 17. Làm cách nào để thay đổi cài đặt máy in theo chương trình bằng điều khiển WebBrowser?
- 18. Có một tệp Chương trình/Tệp Chương trình (x86) đơn giản chỉ thị cho C++ trong các cửa sổ không?
- 19. Làm cách nào để thay đổi vị trí tệp theo chương trình?
- 20. Thay đổi Tomcat trong cửa sổ
- 21. Làm cách nào để có nhiều cửa sổ trong R
- 22. Cửa sổ WPF. Làm cách nào để phát hiện chương trình đầu tiên?
- 23. Làm thế nào để thay đổi chiều cao div trên cửa sổ thay đổi kích cỡ?
- 24. Làm thế nào để bắt đầu 2 chương trình simultaniously trong cửa sổ command prompt
- 25. lập trình thay đổi biên giới cửa sổ màu sắc của cửa sổ 7
- 26. Cửa sổ chương trình gỡ lỗi sẽ không đóng
- 27. Quá trình mở và thay đổi vị trí cửa sổ
- 28. Làm cách nào để thay đổi kích thước cửa sổ trình duyệt hiện tại trong Selenium WebDriver với Java?
- 29. Làm cách nào để thay đổi kích thước cửa sổ bằng JQuery?
- 30. WPF mở chương trình exe trong cửa sổ WPF
"Lời hứa của Ngài" có nghĩa là gì? Ngoài ra ... tại sao bạn muốn làm điều đó? –
Bằng tiếng Anh, xin vui lòng? – Jon
bạn không muốn làm điều đó, hãy đọc về cách sử dụng DNS để giải quyết tên máy chủ – Alex