여기 C# 초보자를 완성 했으므로 다소 여유를 갖습니다.데몬과 함께 C# 트레이 아이콘 응용 프로그램
나는이 응용 프로그램을 트레이에 저장합니다. 트레이를 클릭하면 "설정"양식에 액세스하려고합니다. 이것은 모두 코드화되어 작동합니다.
그러나이 응용 프로그램의 주요 기능은 node.js로 작성된 응용 프로그램에 연결하고 수행 할 작업에 대한 폴링을 유지하는 것입니다.
또한 코드화되어 작동하지만 (끔찍한)주의 사항이 있습니다. 숨겨진 형태로 실행하려면
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 form = new Form1();
ApplicationContext applicationContext = new ApplicationContext();
applicationContext.MainForm = form;
Application.Run(applicationContext);
}
}
:
주요 클래스는 않습니다. ,
private void Form1_Load(object sender, EventArgs e)
{
string basePath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Personal),
"ArchSync"
);
if (!Directory.Exists(basePath)) {
Directory.CreateDirectory(basePath);
}
WebClient client = new WebClient();
Int64 timestamp = 0;
while (true)
{
// main app loop
}
}
없이 말을이 응용 프로그램이 작동을하지만, 메인 스레드는 HTTP 상호 작용을하고 바쁜이기 때문에 트레이 아이콘, 아무것도하지 않는 : 그리고 주요 응용 프로그램 사이클은 폼로드 이벤트에서 일어나고있다.
UI 스레드 외부에서 주 응용 프로그램 루프를 실행하는 올바른 방법은 무엇입니까?
감사합니다.
폴링을 수행하는 새 스레드를 시작하십시오. – driis