dychenyi/
共539个网摘 [
1 ...
9 10 11 12 13 14 15 16 17 18 ]
上一页 |
下一页 |
访问dychenyi的个人空间
dychenyi收录,时间:2007-11-5 9:17:27 | 相关网摘,我也收藏
文第4版 32页
问题点数:20 回复次数:43 显示所有回复显示星级回复显示楼主回复
yyss620819
saosao
等 级:
发表于:2007-11-01 11:10:571楼 得分:0
求余必须用int型变量 然而int只能存储8位的数据 也就是0~255 如果超出的话,c++会用他的模来进行操作
Turntogo
星光伴月
等 级:
发表于:2007-11-01 11:11:402楼 得分:0
取模运算时,对于负数,应该加上被除数的整数倍,使结果大于或等于0之后,再进行运算.
对于上例:
-1+256=255,然后用255%256,结果就是255.
当然也可以-1+512=511,511%256的结果也是255.
thecorr
边走边唱
等 级:
发表于:2007-11-01 11:13:553楼 得分:0
求余的返回值是0 ~ n-1
http://topic.csdn.net/u/20071101/11/f21bdf5c-a139-4f93-b840-3757a8b8ede7.html
dychenyi收录,时间:2007-11-2 11:16:47 | 相关网摘,我也收藏
时候,诚实最重要。
9、你希望自己5年后是什么样?
在技术类企业的面试中经常出现,国企有时也会问到。个人认为,尽量避开谈具体的目标,千万不要说“我想5年后做项目经理”、“我想5年后做主管”之类的话,如果你不想被拒的话。以下是我的答案,供大家参考:
(aspen四、五面,联想一面,瞬联二面)
“因为我本人是学计算机的,所以希望沿着以技术为主线的路走下去。5年以后,我希望自己能够对某一个领域有比较深入的理解,成为某一领域的专家,在某一方面能独挡一面,同时也能够了解其他领域的发展动态。”
总结一下:这类非技术面试是任何单位都必然有的环节,以上基本已经涵盖了这类面试的绝大部分问题。虽然这些问题都非常常见,但是,要全答好却不是一件容 易的事。在这方面,建议大家要针对具体的问题多下功夫,很多同学面试失败,都是因为这部分没答好。所以,希望大家一定要重视起来,经过一段时间的练习,相 信你也可以做到信心十足的参加非技术面试!
最后,提醒一下:如果你面的是国企、事业单位、公务员、银行、保险,那么一定要穿正装;如果你面的是管理、营销类职位,更要穿正装。如果是技术公司的技术职位的话,则无所谓。
(七):面试之英文面试篇
本篇介绍面试的第三部分:英文面试。
英文面试是很多同学最头疼的问题,几乎绝大部分同学都非常惧怕英文面试,甚至到了逢英文面必挂的地步。在这里,把我在英文面试过程中总结出的一些经验给大家分享,希望能对那些惧怕英文面试的同学有所帮助。
首先要弄清楚,英文面试到底考查的是什么?请大家一定要记住:英文面试考查的,不是你的口语流利不流利,而是你的思路,以及你利用英文来交流的能力。毕竟,英语只是一个工具而已,真正有价值的,是这个工具背后你的思路。
但是,怎样利用好英语这个工具,把你的思路准确的表达给对方呢?我想,这是绝大部分同学在英文面试时面临的最大的问题,自己是这样想的,但不知道用英文怎么说。这也是攻克英文面试要解决的核心问题。
结合我的英文面试经历,个人认为,在进行英文面试
http://blog.csdn.net/porcupinefinal/archive/2007/10/25/1843834.aspx
dychenyi收录,时间:2007-10-30 8:40:02 | 相关网摘,我也收藏
呵,我经常用到这个功能,把自己用得函数贴出来:
CString CMoView::GetLocalTimeXG(time_t t)
{
struct tm *tm;
CString strDateTime;
if (t==0)
t = ::time(NULL);
tm = ::localtime(&t);
strDateTime.Format(_T("%d-%d-%d %d:%d:%d"),
tm- >tm_year+1900, tm- >tm_mon+1, tm- >tm_mday, tm- >tm_hour, tm- >tm_min, tm- >tm_sec);
return strDateTime;
}
xugang_2001
幽明天竹
等 级:
发表于:2007-10-29 12:05:592楼 得分:0
记得给分阿~~~~~~~
http://topic.csdn.net/u/20071029/11/2ee4fd46-d6c5-4339-b301-8777a92ef644.html
dychenyi收录,时间:2007-10-26 12:36:55 | 相关网摘,我也收藏
1.使用WMI。查询表Win32_NetworkAdapterConfiguration即可获得。
2.使用ARP协议。请看这里。
3.使用Windows命令nbtstat,也就是通过NetBIOS。请看这里。
4.查询SNMP(就是一种用于监视网络设备的协议)的MIB(管理信息数据库)。但这不是一件简单的事情,需要自己创建SNMP包,发送到交换机,然后对返回的响应进行解析。
下面是代碼:
using System;
using System.Diagnostics;
using System.Management;
using System.Net;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace MACAddress
{
/**////
/// MainClass 的摘要描述。
///
internal class MainClass
{
/**////
/// 應用程式的主進入點。
///
[STAThread]
private static void Main(string[] args)
{
GetMACByWMI();
IPAddress[] ips = GetLocalIP();
foreach (IPAddress ip in ips)
{
Console.WriteLine(GetMacByARP(ip.ToString()));
string mac = GetRemoteMacByNetBIOS(ip.ToString());
if ( mac.Length != 0 )
Console.WriteLine(mac);
else
Console.WriteLine("Fail to get MACAddress by NetBIOS");
GetMACBySNMP(ip.ToString(),"yourGroupName@yourVlanNumber");
}
Console.ReadLine();
}
By WMI#region By WMI
public static void GetMACByWMI()
{
string query = "select MACAddress from Win32_NetworkAdapterConfiguration where IPEnabled='TRUE'";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject mo in collection)
{
string mac = mo["MACAddress"].ToString();
Console.WriteLine(" Network card MAC Address is :{0}", mac);
}
}
#endregion
By ARP#region By ARP
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);
public static string GetMacByARP(string clientIP)
{
string ip = clientIP;
Int32 ldest = inet_addr(ip);
Int64 macinfo = new Int64();
Int32 len = 6;
try
{
SendARP(ldest, 0, ref macinfo, ref len);
}
catch
{
return "";
}
string originalMACAddress = Convert.ToString(macinfo, 16);
if (originalMACAddress.Length < 12)
{
originalMACAddress = originalMACAddress.PadLeft(12, '0');
}
string macAddress;
if (originalMACAddress != "0000" && originalMACAddress.Length == 12)
{
string mac1, mac2, mac3, mac4, mac5, mac6;
mac1 = originalMACAddress.Substring(10, 2);
mac2 = originalMACAddress.Substring(8, 2);
mac3 = originalMACAddress.Substring(6, 2);
mac4 = originalMACAddress.Substring(4, 2);
mac5 = originalMACAddress.Substring(2, 2);
mac6 = originalMACAddress.Substring(0, 2);
macAddress = mac1 + "-" + mac2 + "-" + mac3 + "-" + mac4 + "-" + mac5 + "-" + mac6;
}
else
{
macAddress = "";
}
return macAddress.ToUpper();
}
public static IPAddress[] GetLocalIP()
{
string hostName = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostByName(hostName);
return ipEntry.AddressList;
}
#endregion
By NetBIOS#region By NetBIOS
public static string GetRemoteMacByNetBIOS(string clientIP)
{
string ip = clientIP;
string dirResults = "";
ProcessStartInfo psi = new ProcessStartInfo();
Process proc = new Process();
psi.FileName = "nbtstat.exe";
//psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
psi.Arguments = "-A " + ip;
psi.UseShellExecute = false;
proc = Process.Start(psi);
dirResults = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();
proc.WaitForExit();
dirResults = dirResults.Replace("\r", "").Replace("\n", "").Replace("\t", "");
Regex reg = new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?((.)*?))__MAC", RegexOptions.IgnoreCase | RegexOptions.Compiled);
Match mc = reg.Match(dirResults + "__MAC");
if (mc.Success)
{
return mc.Groups["key"].Value.ToUpper();
}
else
{
return "";
}
}
#endregion
By SNMP#region By SNMP
public static void GetMACBySNMP(string ip,string vlan)
{
int commLength,mibLength,dataStart,dataLength;
string nextMib,value;
SNMP conn = new SNMP();
string mib = "1.3.6.1.2.1.17.4.3.1.1";
int orgMibLength = mib.Length;
byte[] response = new byte[1024];
nextMib = mib;
while ( true)
{
response = conn.Get("getnext",ip,vlan,nextMib);
commLength = Convert.ToInt16(response[6]);
mibLength = Convert.ToInt16(response[23+commLength]);
dataLength = Convert.ToInt16(response[25+commLength+mibLength]);
dataStart = 26 + commLength + mibLength;
value = BitConverter.ToString(response,dataStart,dataLength);
nextMib = conn.GetNextMIB(response);
if ( !(nextMib.Substring(0,orgMibLength) == mib))
{
break;
}
Console.WriteLine("{0}={1}",nextMib,value);
}
}
#endregion
}
}
SNMP Class
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace MACAddress
{
/**//**//**////
/// SNMP 的摘要描述。
///
public class SNMP
{
public SNMP()
{
}
public byte[] Get(string request, string host, string community, string mibString)
{
byte[] packet = new byte[1024];
byte[] mib = new byte[1024];
int snmpLen;
int comLen = community.Length;
string[] mibVals = mibString.Split('.');
int mibLen = mibVals.Length;
int cnt = 0;
int temp;
int orgmibLen = mibLen;
int pos = 0;
for (int i = 0; i < orgmibLen; i++)
{
temp = Convert.ToInt16(mibVals[i]);
if (temp > 127)
{
mib[cnt] = Convert.ToByte(128 + (temp / 128));
mib[cnt + 1] = Convert.ToByte(temp - ((temp / 128) * 128));
cnt += 2;
mibLen++;
}
else
{
mib[cnt] = Convert.ToByte(temp);
cnt++;
}
}
snmpLen = 29 + comLen + mibLen - 1;
packet[pos++] = 0x30;
packet[pos++] = Convert.ToByte(snmpLen - 2);
packet[pos++] = 0x02;
packet[pos++] = 0x01;
packet[pos++] = 0x00;
packet[pos++] = 0x04;
packet[pos++] = Convert.ToByte(comLen);
byte[] data = Encoding.ASCII.GetBytes(community);
for (int i = 0; i < data.Length; i++)
{
packet[pos++] = data[i];
}
if (request == "get")
{
packet[pos++] = 0xA0;
}
else
{
packet[pos++] = 0xA1;
}
packet[pos++] = Convert.ToByte(20 + mibLen - 1);
packet[pos++] = 0x02;
packet[pos++] = 0x04;
packet[pos++] = 0x00;
packet[pos++] = 0x00;
packet[pos++] = 0x00;
packet[pos++] = 0x01;
packet[pos++] = 0x02;
packet[pos++] = 0x01;
packet[pos++] = 0x00;
packet[pos++] = 0x02;
packet[pos++] = 0x01;
packet[pos++] = 0x00;
packet[pos++] = 0x30;
packet[pos++] = Convert.ToByte(6 + mibLen - 1);
packet[pos++] = 0x30;
packet[pos++] = Convert.ToByte(6 + mibLen - 1 - 2);
packet[pos++] = 0x06;
packet[pos++] = Convert.ToByte(mibLen - 1);
packet[pos++] = 0x2b;
for (int i = 2; i < mibLen; i++)
{
packet[pos++] = Convert.ToByte(mib[i]);
}
packet[pos++] = 0x05;
packet[pos++] = 0x00;
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 5000);
IPHostEntry ihe = Dns.Resolve(host);
IPEndPoint iep = new IPEndPoint(ihe.AddressList[0], 161);
EndPoint ep = (EndPoint) iep;
sock.SendTo(packet, snmpLen, SocketFlags.None, iep);
try
{
int recv = sock.ReceiveFrom(packet, ref ep);
}
catch (SocketException)
{
packet[0] = 0xff;
}
return packet;
}
public string GetNextMIB(byte[] mibIn)
{
string output = "1.3";
int commLength = mibIn[6];
int mibStart = 6 + commLength + 17;
int mibLength = mibIn[mibStart] - 1;
mibStart += 2;
int mibValue;
for (int i = mibStart; i < mibStart + mibLength; i++)
{
mibValue = Convert.ToInt16(mibIn[i]);
if (mibValue > 128)
{
mibValue = (mibValue / 128) * 128 + Convert.ToInt16(mibIn[i + 1]);
i++;
}
output += "." + mibValue;
}
return output;
}
}
}
如果还有其它方法,请告诉我。
posted on 2005-07-13 13:17 风满袖 阅读(5994) 评论(16) 编辑 收藏 所属分类: C#
评论
#1楼 2005-07-13 14:53 gooshoose [未注册用户]
public class MACAddress
{
public MACAddress()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);
public static string GetRemoteMAC(string remoteIP)
{
string ReturnValue="";
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "nbtstat.exe";
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.Arguments = "-A " + remoteIP;
psi.UseShellExecute = false;
Process ps = Process.Start(psi);
string strEnd = ps.StandardOutput.ReadToEnd();
ps.WaitForExit();
string[] strs = strEnd.Split('\n');
foreach(string s in strs)
{
if(s.Trim().ToLower().IndexOf("mac address") != -1)
{
ReturnValue= s.Substring(s.IndexOf("Address =") + 10,17);
break;
}
}
return ReturnValue;
http://jiezhi.cnblogs.com/archive/2005/07/13/192066.html
dychenyi收录,时间:2007-10-26 11:55:31 | 相关网摘,我也收藏
获得局域网中计算机的列表(包括计算机名,IP和MAC)的方法
有的时候需要根据MAC来限定登录的计算机,为此查找了不少资料(有来自博客堂和CSDN),下面是获得远程计算机的MAC和局域网中计算机列表的方法。
需要引用的命名空间
using System;
using System.Collections;
using System.Diagnostics;
using System.Management;
using System.Net;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
获得本机的MAC地址
public static string GetLocalMac()
{
string strMac = string.Empty;
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach(ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
strMac += mo["MacAddress"].ToString() ;
}
return strMac.ToUpper();
}
获得远程计算机的MAC地址
方法一:使用API,利用ARP协议,只能获得同网段计算机的MAC
[DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip);
public static string GetRemoteMac(string clientIP)
{
string ip = clientIP;
if ( ip == "127.0.0.1")
ip = GetLocalIP()[0];
Int32 ldest=inet_addr(ip);
Int64 macinfo=new Int64();
Int32 len=6;
try
{
SendARP(ldest,0,ref macinfo,ref len);
}
catch
{
return "";
}
string originalMACAddress = Convert.ToString(macinfo,16);
if (originalMACAddress.Length<12)
{
originalMACAddress = originalMACAddress.PadLeft(12,'0');
}
string macAddress;
if(originalMACAddress!="0000" && originalMACAddress.Length==12)
{
string mac1,mac2,mac3,mac4,mac5,mac6;
mac1=originalMACAddress.Substring(10,2);
mac2=originalMACAddress.Substring(8,2);
mac3=originalMACAddress.Substring(6,2);
mac4=originalMACAddress.Substring(4,2);
mac5=originalMACAddress.Substring(2,2);
mac6=originalMACAddress.Substring(0,2);
macAddress=mac1+"-"+mac2+"-"+mac3+"-"+mac4+"-"+mac5+"-"+mac6;
}
else
{
macAddress="";
}
return macAddress.ToUpper();
}
方法二:使用windows的命令nbtstat
public static string GetRemoteMacByNetBIOS(string clientIP)
{
string ip = clientIP;
if ( ip == "127.0.0.1")
ip = GetLocalIP()[0];
string dirResults="";
ProcessStartInfo psi = new ProcessStartInfo();
Process proc = new Process();
psi.FileName = "nbtstat.exe";
//psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;psi.RedirectStandardError=true;
psi.Arguments = "-A " + ip;
psi.UseShellExecute = false;
proc = Process.Start(psi);
dirResults = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();
proc.WaitForExit();
dirResults=dirResults.Replace("\r","").Replace("\n","").Replace("\t","");
Regex reg=new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?((.)*?))__MAC",RegexOptions.IgnoreCase|RegexOptions.Compiled);
Match mc=reg.Match(dirResults+"__MAC");
if(mc.Success)
{
return mc.Groups["key"].Value.ToUpper();
}
else
{
return "";
}
}
使用此方法需要足够的操作系统的权限。在Web中,可以将ASP.net用户加入管理员组。
对于上面两个地方都用到的GetLocalIP是一个获取本机IP的方法:
public static string[] GetLocalIP()
{
string hostName = Dns.GetHostName();
IPHostEntry ipEntry=Dns.GetHostByName(hostName);
IPAddress[] arr=ipEntry.AddressList;
string[] result = new string[arr.Length];
for(int i=0;i
{
result[i] = arr[i].ToString();
}
return result;
}
获得局域网内计算机的列表
方法一:使用逐个IP地址扫描的方式
利用多线程来对每个IP逐个扫描。
ComputerAddressInfo cai = new ComputerAddressInfo("192.168.1",42,53);
Thread thScan = new Thread(new ThreadStart(cai.ScanComputers));
thScan.Start();
//...
public class ComputerAddressInfo
{
private int startIP = 0;
private int endIP = 0;
private string ipPrefix = "";
private ArrayList computerList = null;
public ComputerAddressInfo(string ipPrefix,int startIP,int endIP)
{
this.startIP = startIP;
this.endIP = endIP;
this.ipPrefix = ipPrefix;
computerList = new ArrayList();
}
public void ScanComputers()
{
for(int i=startIP;i<=endIP;i++)
{
string scanIP = ipPrefix +"."+i.ToString();
IPAddress myScanIP = IPAddress.Parse(scanIP);
IPHostEntry myScanHost = null;
string[] arr = new string[2];
try
{
myScanHost = Dns.GetHostByAddress(myScanIP);
}
catch
{
continue;
}
if (myScanHost != null)
{
arr[0] = myScanHost.HostName;
arr[1] = scanIP;
computerList.Add(arr);
}
}
}
}
此方法速度比较慢。
方法二:使用Active Directory
public static ArrayList GetComputerList()
{
ArrayList list = new ArrayList();
//or use "WinNT://your_domain_name"
DirectoryEntry root = new DirectoryEntry("WinNT:");
DirectoryEntries domains = root.Children;
domains.SchemaFilter.Add("domain");
foreach (DirectoryEntry domain in domains)
{
DirectoryEntries computers = domain.Children;
computers.SchemaFilter.Add("computer");
foreach (DirectoryEntry computer in computers)
{
object[] arr = new string[3];
IPHostEntry iphe = null;
try
{
iphe = Dns.GetHostByName(computer.Name);
}
catch
{
continue;
}
arr[0] = domain.Name;
arr[1] = computer.Name;
if ( iphe != null && iphe.AddressList.Length >0 )
{
for ( int i=0;i
arr[2] += iphe.AddressList[i].ToString()+",";
arr[2] = arr[2].ToString().Remove(arr[2].ToString().Length-1,1);
}
else
arr[2] = "";
list.Add(arr);
}
}
return list;
}
此方法速度也比较慢。
后记
上面两个获得局域网内的计算机列表的方法都很费时,目前还没有找到更好的办法。
http://www.cnblogs.com/jiezhi/archive/2005/01/06/87412.html
dychenyi收录,时间:2007-10-24 11:36:44 | 相关网摘,我也收藏
//定义全局的结构和函数
#include
struct FindParm
{
HWND FindHwnd;
LPCTSTR MoudeName;
};
BOOL CALLBACK EnumWindowsProc(HWND hwnd,
LPARAM lParam
)
{
FindParm *fp=(FindParm*)lParam;
DWORD ProcssID;
GetWindowThreadProcessId(hwnd,&ProcssID);
HANDLE hTS=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,ProcssID);
MODULEENTRY32 ma;
ZeroMemory(&ma,sizeof(ma));
ma.dwSize=sizeof(ma);
bool bFound=false;
for (bool fOK=Module32First(hTS,&ma);fOK;fOK=Module32Next(hTS,&ma))
{
bFound=lstrcmpi(ma.szModule,fp->MoudeName);
if (!bFound)
{
fp->FindHwnd=hwnd;
return false;
}
}
return TRUE;
}
HWND MyFind(LPCTSTR MoudeName)
{
FindParm pa;
pa.FindHwnd=NULL;
pa.MoudeName=MoudeName;
EnumWindows(EnumWindowsProc,(LPARAM)&pa);
return pa.FindHwnd;
}
//而后程序中使用
void CMyDlg::OnButton1()
{
if(HWND findhwnd=MyFind(TEXT("abc.exe")))
{
::PostMessage(findhwnd,WM_KEYDOWN,VK_F5,0);
::PostMessage(findhwnd,WM_KEYUP,VK_F5,0);
}
}
dychenyi
等 级:
发表于:2007-10-24 11:33:516楼 得分:0
这个是找窗口标题的方法, 参考 。
C/C++ code
char caption[256];
CString strcaption;
hWndWindow=::GetWindow(hWndWindow,GW_HWNDFIRST);
do
{
::GetWindowText(hWndWindow,caption,256);
strcaption.Format("%s",caption);
//MessageBox(strcaption);
BarOne=NULL;
BarOne = strstr(strcaption,_T("Data required to print"));
if (BarOne != NULL) //找到
{
//SetDlgItemText(IDC_EDIT_STATUS,"Get Handle OK!");
showMessage(0);
break;
}
}
while((hWndWindow=::GetWindow(hWndWindow,GW_HWNDNEXT))!=NULL);
http://topic.csdn.net/u/20071024/00/3594c4ee-bed6-4087-adb7-05526fc60836.html?seed=729325865
dychenyi收录,时间:2007-10-24 10:53:51 | 相关网摘,我也收藏
//(1)初始化,我只列出部分关键的代码哦
unsigned char rgb_buf[100*40*3] ; //这个内存区呢,里面有很多位图r,g,b值,格式是bgrbgrbgrbgr....
CDC * cur_dc ;
CDC * mem_dc ;
CBitmap * mem_bmp ;
cur_dc = GetDC() ; //获得显示设备信息
if(mem_dc != NULL) delete mem_dc ;
mem_dc = new CDC ;
if(mem_bmp != NULL) delete mem_bmp ;
mem_bmp = new CBitmap ;
mem_dc- >CreateCompatibleDC(cur_dc) ;
mem_bmp- >CreateCompatibleBitmap(cur_dc, 100, 40) ;
mem_dc- >SelectObject(mem_bmp) ;
//(2)我要做的呢,就是读出rgb_buf的数据,把他显示到屏幕上,刚好是100*40的大小,我是这么做的
for(i = 0 ; i < 40; i++) {
for(j = 0 ; j < 100 ; j++) {
mem_dc- >SetPixel(j, i, RGB(rgb_buf[k],rgb_buf[k+1],rgb_buf[k+2])) ;
k += 3 ;
}
} //以像素为 Xidth * Height大小的区域替换完毕
cur_dc- >BitBlt(0,0,
img_width, img_height,
mem_dc,
0,0,
SRCCOPY) ;
http://topic.csdn.net/u/20071024/10/165bd4e7-7847-4a81-9253-6cdd9fc5781d.html
dychenyi收录,时间:2007-10-18 9:23:31 | 相关网摘,我也收藏
dychenyi
等 级:
发表于:2007-10-18 08:42:19 楼主
.net2005 下的程式 。
String ^tempString;
tempString = gcnew String(temp.c_str());
if(tempString- >Equals(""))
{
MessageBox::Show("XXXXXXX!");
return false;
}
我不太懂这个String ^tempString;是什么意思, 和 String tempString;有什么区别 ? 谢谢
PS :我不太懂 。net2005 ,我现在还是用vc6 。
问题点数:50 回复次数:3 显示所有回复显示星级回复显示楼主回复
leechiyang
逮老鼠的狗算不算好猫?
等 级:
发表于:2007-10-18 08:49:491楼 得分:50
String ^tempString; 是定义一个追踪句柄,可以指向托管的对象。
String *tempString; 是定义一个指针,指向非托管对象。
由于托管代码受垃圾回收器的管理,对象在内存中会被搬移,所以不能用指针指向托管对象。
对象被搬移后,追踪句柄指向对象新的位置。
dychenyi
等 级:
发表于:2007-10-18 09:02:372楼 得分:0
嘿嘿 也就是 这个和new不一样的地方就是gcnew自己管理回收 ? 哈哈
dychenyi
等 级:
发表于:2007-10-18 09:14:533楼 得分:0
http://tech.ccidnet.com/art/1081/20060407/500373_1.html
http://dev.yesky.com/msdn/494/2030994.shtml
自己收藏 嘿嘿
http://topic.csdn.net/u/20071018/08/6a6e145c-1559-40e3-9d9b-017f05bec416.html?seed=447607983
共539个网摘 [
1 ...
9 10 11 12 13 14 15 16 17 18 ]
上一页 |
下一页