📄 testdlldlg1.cpp
字号:
// TestDllDlg1.cpp : implementation file
//
#include "stdafx.h"
#include "SmsdllTest.h"
#include "TestDllDlg1.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// TestDllDlg1 dialog
TestDllDlg1::TestDllDlg1(CWnd* pParent /*=NULL*/)
: CDialog(TestDllDlg1::IDD, pParent)
{
//{{AFX_DATA_INIT(TestDllDlg1)
m_Hello = -8;
m_OutputData = -8.0;
m_dInput = -8.0;
m_Solution = -1;
m_TestResult = -8;
m_TestResult_int = -8;
m_ContentFromDialog = _T("");
m_NumberFromDialog = _T("");
//}}AFX_DATA_INIT
}
void TestDllDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(TestDllDlg1)
DDX_Text(pDX, IDC_EDIT1, m_Hello);
DDX_Text(pDX, IDC_EDIT2, m_OutputData);
DDX_Text(pDX, IDC_INPUT, m_dInput);
DDV_MinMaxDouble(pDX, m_dInput, 1., 99999999.);
DDX_Radio(pDX, IDC_SOLUTION, m_Solution);
DDX_Text(pDX, IDC_TestResult, m_TestResult);
DDX_Text(pDX, IDC_TestResult_Double, m_TestResult_int);
DDX_Text(pDX, IDC_DA_Contend, m_ContentFromDialog);
DDX_Text(pDX, IDC_DA_Number, m_NumberFromDialog);
DDV_MaxChars(pDX, m_NumberFromDialog, 11);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(TestDllDlg1, CDialog)
//{{AFX_MSG_MAP(TestDllDlg1)
ON_BN_CLICKED(IDC_COMPUTE, OnCompute)
ON_BN_CLICKED(IDC_GRPS_STATUS, OnGrpsStatus)
ON_BN_CLICKED(IDC_DA_SEND, OnDaSend)
ON_BN_CLICKED(IDC_ReadSms, OnReadSms)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// TestDllDlg1 message handlers
BOOL TestDllDlg1::OnInitDialog()
{
CDialog::OnInitDialog();
m_dInput = 10000;
m_Solution = 0;
UpdateData(FALSE);
// 动态连接 the following 5 line codes should be add when only dynamically link to sms.dll
HINSTANCE hInstance;
// VERIFY(hInstance=::LoadLibrary("E:\\backup\\fugle_soft\\Sms\\Sms.dll"));
VERIFY(hInstance=::LoadLibrary("Sms.dll"));
// VERIFY(hInstance=::LoadLibrary("C:\\winnt\\system32\\Sms.dll"));
SendShortMessage = (SendShortMessageType*)::GetProcAddress(hInstance,"SendShortMessage");
GetStatus = (GetStatusType*)::GetProcAddress(hInstance,"GetStatus");
ReadSms = (ReadSmsType*)::GetProcAddress(hInstance,"ReadSms");
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void TestDllDlg1::OnCompute()
{
UpdateData(TRUE);
switch(m_Solution){
case 0:
m_Hello = sqrt(m_dInput);
break;
case 1:
char* number = "13918256150";
// char* number = "13971490112";
int NumberLen = strlen(number);
char* message = "hello";
// char* message = "老蔡";
int MessageLen = strlen(message);
// 静态连接 u should copy sms.lib to present directory
/* m_OutputData = SendShortMessage(number,NumberLen,message,MessageLen); */
// 动态链接
m_OutputData=(*SendShortMessage)(number,NumberLen,message,MessageLen); //call the DLL function
break;
}
UpdateData(FALSE);
}
void TestDllDlg1::OnGrpsStatus()
{
UpdateData(TRUE);
// 动态链接
m_TestResult_int=(*GetStatus)(); //call the DLL function
// 静态连接 u should copy sms.lib to present directory
/* m_TestResult_int = GetGprsStatus(); */
UpdateData(FALSE);
}
void TestDllDlg1::OnDaSend()
{
UpdateData(TRUE);
// char* smessage = "have u received my paper? lovemaggic:)";
// int MessageLen = strlen(smessage);
int NumberLen = m_NumberFromDialog.GetLength();
char *snumber = m_NumberFromDialog.GetBuffer(NumberLen);
int MessageLen = m_ContentFromDialog.GetLength();
char *smessage = m_ContentFromDialog.GetBuffer(MessageLen);
// 动态链接
m_OutputData=(*SendShortMessage)(snumber,NumberLen,smessage,MessageLen); //call the DLL function
// 静态连接 u should copy sms.lib to present directory
/* m_OutputData = SendShortMessage(snumber,NumberLen,smessage,MessageLen); */
UpdateData(FALSE);
}
void TestDllDlg1::OnReadSms()
{
int sms = ReadSms();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -