SetWindowText 함수를 사용하여 창 제목의 이름을 바꾸려면 "메모장"과 같은 Windows 프로그램에서 작동하지만 다른 타사 프로그램과는 작동하지 않는 것처럼 보입니다. Process ..MainWindowHandle. 파이어 폭스를 생성하고 창 제목의 이름을 바꿉니다. 이건 내 요구 사항입니다. 프로세스가 시작되고 있지만 창 제목의 이름 바꾸기가 발생하지 않습니다. "오류 보고서 보내기"대화 상자 창이 나타납니다. 아래 코드를 참조하십시오.SetWindowText 함수를 통해 창 제목 텍스트의 이름을 바꿀 수 없습니다.
using System;
using Microsoft.Win32;
using System.Runtime.InteropServices;
using System.Threading;
using System.Diagnostics;
namespace SampleNamespace
{
public class SampleClass
{
[DllImport("user32.dll")]
static extern int SetWindowText(IntPtr hWnd, string text);
public static void Main()
{
Process p = Process.Start("C:\\Sham\\pg\\Firefox\\firefox.exe");
Thread.Sleep(1000);
SetWindowText(p.MainWindowHandle, "FireFox via Process-Start");
} // End of Main function (program statup)
}
}
"작동하지 않음"이란 무엇을 의미합니까? 오류가 발생합니까 아니면 창 텍스트가 변경되지 않습니까? 기본 브라우저 UI에 사용되는 창과 다른 창을 변경하는 경우가 많으므로 새 캡션이 예상되는 위치에 반영되지 않습니다. –
오류 (보고서 전송 대화 상자 창)가 표시되고 창 텍스트가 변경되지 않습니다. 내가 원했던 것은 Process.Start를 통해 생성되는 창 제목을 변경하는 것입니다. 어떻게 할 수 있습니까? – user641057