using Microsoft.Kinect; ... // initialize the Kinect sensor KinectSensor sensor = KinectSensor.GetDefault(); // open the sensor and start tracking sensor.Open(); sensor.IsAvailableChanged += Sensor_IsAvailableChanged; sensor.SkeletonStream.Enable(); sensor.SkeletonFrameReady += Sensor_SkeletonFrameReady; ... private void Sensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) { // get the skeleton data using (SkeletonFrame frame = e.OpenSkeletonFrame()) { if (frame != null) { Skeleton[] skeletons = new Skeleton[frame.SkeletonArrayLength]; frame.CopySkeletonDataTo(skeletons); // find the first tracked skeleton Skeleton skeleton = skeletons.FirstOrDefault(s => s.TrackingState == SkeletonTrackingState.Tracked); if (skeleton != null) { // get the position of the right hand joint Joint hand = skeleton.Joints[JointType.HandRight]; // do something with the hand position Console.WriteLine("Hand position: ({0}, {1}, {2})", hand.Position.X, hand.Position.Y, hand.Position.Z); } } } } ... // dispose of the sensor when finished sensor.Close();This code uses the SkeletonFrameReady event to get the latest skeleton data from the Kinect sensor, find the first tracked skeleton, and get the position of the right hand joint. The position of the hand is then printed to the console. The Microsoft.Kinect Joint class is part of the Microsoft.Kinect package library, which is included with the Microsoft Kinect SDK.