91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 187KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: 其他
  • 標簽: UG??NX??Opengl??hook??

資源簡介

xusir98開發的程序,很值得學習。 程序主要過程: 找出NX視圖的顯示窗口 HOOK NX視圖的鼠標操作 在HOOK的回調函數中利用OPENGL的換算得出點在視窗的位置 移動窗口

資源截圖

代碼片段和文件信息

//?CreateNxWnd.cpp:?implementation?of?the?CCreateNxWnd?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“CreateNxWndCls.h“
#include?“CreateNxWnd.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCreateNxWnd::CCreateNxWnd()
{

}

CCreateNxWnd::~CCreateNxWnd()
{

}

BOOL?CCreateNxWnd::AddDlg(stuPointWnd?PtWnd)
{
????m_List.AddTail(PtWnd);
????return?TRUE;
}

BOOL?CCreateNxWnd::MoveWnd()
{
????GLdouble?fPoint[3]?=?{0};
????GLdouble?fModelMatrix[16]?=?{0};
????GLdouble?fProjMatrix[16]?=?{0};
????GLint????nViewport[4]?=?{0};
????GLdouble?fOutPt[3]?=?{0};
????
????//獲取OPENGL的模型矩陣
????glGetDoublev(GL_MODELVIEW_MATRIXfModelMatrix);
????//獲取OPENGL的投影矩陣
????glGetDoublev(GL_PROJECTION_MATRIXfProjMatrix);
????//獲取OPENGL的視窗大小
????glGetIntegerv(GL_VIEWPORTnViewport);

????//用迭代器循環訪問存放跟隨窗口的對象
????POSITION?pos?=?m_List.GetHeadPosition();
????for?(int?i=0;?i????{
????????stuPointWnd?pWnd?=?m_List.GetNext(pos);

????????UF_CURVE_ask_point_data(pWnd.m_ObjTagfPoint);

????????//獲取點投影到視窗的坐標
????????gluProject(fPoint[0]fPoint[1]fPoint[2]
????????????fModelMatrixfProjMatrixnViewport
????????????&fOutPt[0]&fOutPt[1]&fOutPt[2]);

????????//有的時候鉤子進來的情況獲得矩陣不正確
????????//存在問題:用他來排除也不知道對不對?
????????if?(fOutPt[2]?????????{
????????????continue;
????????}

????????//獲取跟隨窗口的原始坐標
????????RECT?WndRect;
????????pWnd.m_pWndDlg->GetWindowRect(&WndRect);

????????//獲取視窗窗口的原始坐標
????????//存在問題:這里獲取的矩形大小和獲取的視窗大小有差異?
????????RECT?PartRect;
????????::GetWindowRect(m_hPartWnd&PartRect);
????????
????????//新的跟隨窗口的坐標和長寬
????????LONG?lNewX?????=?PartRect.left?+?fOutPt[0];
????????LONG?lNewY?????=?PartRect.top?+?nViewport[3]?-?fOutPt[1];
????????LONG?lHeight???=?WndRect.bottom?-?WndRect.top;
????????LONG?lWidth????=?WndRect.right?-?WndRect.left;
????????
????????//向右下偏移10個像素可以看到創建的點
????????LONG?lOffSet?=?10;
????????WndRect.left???=?lNewX?+?lOffSet;
????????WndRect.top????=?lNewY?+?lOffSet;
????????WndRect.right??=?WndRect.left?+?lWidth?;
????????WndRect.bottom?=?WndRect.top??+?lHeight;
????????
????????//重新設置跟隨窗口的位置
????????CRect?NewRect(WndRect);
????????pWnd.m_pWndDlg->MoveWindow(NewRect);

????????//設置跟隨窗口的文本
????????pWnd.m_pWndDlg->SetDlgItemText(MYTEXTpWnd.m_ObjName.GetBuffer(0));
????}

????return?TRUE;
}

char??g_szPartName[256+1]?=?{0};
HWND??g_hWnd?=?NULL;

BOOL?CALLBACK?EnumChildProc(HWND?hWndLPARAM?lParam)
{
????char?szWndName[512]?=?{0};
????::GetWindowText(hWndszWndNamesizeof(szWndName));
????
????CString?csWndName(szWndName);
????int?nEnd?=?csWndName.Find(“.prt“);
????CString?csName;
????csName?=?csWndName.Mid(0nEnd);
????strcpy(szWndNamecs

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3931??2010-06-06?11:30??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWnd.cpp

?????文件????????923??2010-06-06?10:06??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWnd.h

?????文件??????39184??2010-06-05?08:54??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.aps

?????文件????????836??2010-06-06?11:30??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.clw

?????文件???????3922??2010-06-06?10:47??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.cpp

?????文件????????208??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.def

?????文件???????4885??2010-06-03?14:22??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.dsp

?????文件????????551??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.dsw

?????文件???????1705??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.h

?????文件?????189440??2010-06-06?11:30??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.ncb

?????文件??????56832??2010-06-06?11:30??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.opt

?????文件???????1240??2010-06-06?11:16??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.plg

?????文件??????14557??2010-06-05?08:54??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\CreateNxWndCls.rc

?????文件??????21440??1998-08-18?16:24??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\glut.h

?????文件?????169984??1998-08-18?16:25??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\glut32.dll

?????文件??????79898??1998-08-18?16:25??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\glut32.lib

?????文件??????90619??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\msado15.tlh

?????文件??????76614??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\msado15.tli

?????文件??????38011??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\Msadox.tlh

?????文件??????30916??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\Msadox.tli

?????文件???????9792??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\MSJRO.tlh

?????文件???????8075??2009-11-11?10:00??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\MSJRO.tli

?????文件???????1250??2010-06-03?12:22??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\MyDlg.cpp

?????文件???????1205??2010-06-03?12:21??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\MyDlg.h

?????文件???????2668??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\ReadMe.txt

?????文件????????406??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\res\chs\CreateNxWndCls.rc2

?????文件????????406??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\res\deu\CreateNxWndCls.rc2

?????文件????????406??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\res\enu\CreateNxWndCls.rc2

?????文件????????406??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\res\esp\CreateNxWndCls.rc2

?????文件????????406??2010-06-02?13:29??關于NX3.0跟隨點窗口的方法研究\CreateNxWndCls\CreateNxWndCls\res\fra\CreateNxWndCls.rc2

............此處省略18個文件信息

評論

共有 條評論