1 (изменено: Invalid, 2019-08-16 10:53:27)

Тема: AHK: FreeTrackClient.Dll адаптировать код с# под ahk

Пожалуйста помогите адаптировать код с# под ahk.

using System;
public class FreeTrackClientDll  : MonoBehaviour {
       
       [StructLayout(LayoutKind.Sequential)]
       public struct FreeTrackData
       {
           public int dataid;
           public int camwidth, camheight;
           public Single Yaw, Pitch, Roll, X, Y, Z;
           public Single RawYaw, RawPitch, RawRoll;
           public Single RawX, RawY, RawZ;
           public Single x1, y1, x2, y2, x3, y3, x4, y4;          
       }
       
       [DllImport("FreeTrackClient")]
       public static extern bool FTGetData(ref FreeTrackData data);
 
       [DllImport("FreeTrackClient")]
       public static extern string FTGetDllVersion();
 
       [DllImport("FreeTrackClient")]
       public static extern void FTReportID(Int32 name);
 
       [DllImport("FreeTrackClient")]
       public static extern string FTProvider();
 
               
        public float Yaw=0F;
        public float Pitch=0F;
        public float Roll=0F;
        public float X=0F;
        public float Y=0F;
        public float Z=0F;
       
        public float RawYaw=0F;
        public float RawPitch=0F;
        public float RawRoll=0F;
        public float RawX=0F;
        public float RawY=0F;
        public float RawZ=0F;
       
        public float x1=0F;
        public float y1=0F;
        public float x2=0F;
        public float y2=0F;
        public float x3=0F;
        public float y3=0F;
        public float x4=0F;
        public float y4=0F;
 
         void Update()
{
                FreeTrackClientDll.FreeTrackData FreeTrackData;
                FreeTrackData =  new FreeTrackClientDll.FreeTrackData();
               if (!FreeTrackClientDll.FTGetData(ref FreeTrackData))
               {
                   Debug.Log ("FTGetData returned false. FreeTrack likely not working.");
                   return;
               }
     
        FreeTrackClientDll.FTGetData(ref FreeTrackData);
               
                Yaw = FreeTrackData.Yaw;
                Pitch = FreeTrackData.Pitch;
                Roll = FreeTrackData.Roll;
                X = FreeTrackData.X;
                Y = FreeTrackData.Y;
                Z = FreeTrackData.Z;
               
                RawYaw=FreeTrackData.RawYaw;
                RawPitch=FreeTrackData.RawPitch;
                RawRoll=FreeTrackData.RawRoll;
               
                RawX=FreeTrackData.RawX;
                RawY=FreeTrackData.RawY;
                RawZ=FreeTrackData.RawZ;
       
                x1=FreeTrackData.x1;
                y1=FreeTrackData.y1;
                x2=FreeTrackData.x2;
                y2=FreeTrackData.y2;
                x3=FreeTrackData.x3;
                y3=FreeTrackData.y3;
                x4=FreeTrackData.x4;
                y4=FreeTrackData.y4;
   }
 }
 
 

Пробовал так.

	Gui, +AlwaysOnTop -Caption +ToolWindow +LastFound
	Gui, Color, ffffff
	Gui, Font, s30, w1000
	Gui, Font, 000000
	Gui, Add, Text,  x40 y10 vMyText1, ccccccccccccc
	Gui, Show, x0 y0 na
settimer, sett, 10
return

sett:
Yaw := DllCall("FreeTrackClient.dll\FreeTrackData.Yaw")
GuiControl,, MyText1, %Yaw%
return

2

Re: AHK: FreeTrackClient.Dll адаптировать код с# под ahk

Invalid
1. Ознакомьтесь с правилами составления заголовков, а после ознакомления исправьте согласно правилам.
2. Предложения начинаются с заглавной буквы и заканчиваются точкой. Исправьте недостатки.

Кроме того я рекомендую вам ознакомится с полной версией правил форума, либо с выпиской важнейших правил поведения на форуме чтобы избежать подобных ошибок в будущем.

Обсуждение в теме временно прекращено.
Пока оформление не будет приведено в порядок, ответы будут удаляться. Если в течение трех суток тема не будет оформлена должным образом, то будет удалена.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3

Re: AHK: FreeTrackClient.Dll адаптировать код с# под ahk

Все требования были выполнены, обсуждение может быть продолжено.

Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.