FFXiFuncによるコマンド送出
もう、ここまで来るともはやwindowerとは全く関係ないのですがw
まず、ヘッダ類
[DllImport("FFXiFunc.dll")]public static extern IntPtr CreateFnTextCommand();
[DllImport("FFXiFunc.dll")]public static extern bool FnTextCommandEnter(IntPtr intf,int pid);
[DllImport("FFXiFunc.dll")]public static extern bool FnTextCommandUpdate(IntPtr intf);
[DllImport("FFXiFunc.dll")]public static extern Byte FnTextCommandPattern(IntPtr intf, string FuncPtn);
[DllImport("FFXiFunc.dll")]public static extern bool FnTextCommandSearch(IntPtr intf, uint alpha);
[DllImport("FFXiFunc.dll")]public static extern Byte FnTextCommand(IntPtr intf, string command);
[DllImport("FFXiFunc.dll")]public static extern void FnTextCommandLeave(IntPtr intf);
[DllImport("FFXiFunc.dll")]public static extern void FnTextCommandDestruct(IntPtr intf);
public static void SendText(int Pid, string command)
{
IntPtr Interface = CreateFnTextCommand();
if (Interface == (IntPtr)null) return;
if (FnTextCommandEnter(Interface, Pid))
{
if (FnTextCommandUpdate(Interface))
{
FnTextCommandPattern(Interface, "............8B8C240804000055578D84240C02000068000200005033ED518B0D........");
if (FnTextCommandSearch(Interface, 0x800000)) FnTextCommand(Interface, command);
}
FnTextCommandLeave(Interface);
}
FnTextCommandDestruct(Interface);
}
なお、これの実行には、FFXiFunc.dllが必要。CASTとかに同梱されています。