如何让IntPtr指向一个字符串
IntPtr   idp=   IntPtr.Zero; 
 StringBuilder   idata   =   new   StringBuilder( "000000 "); 
 string   idata   = "000000 "; 
 我这样建立的2个idata字符串,如何让idp指向他 
 我指向他的目的是为了传递给dll的某个函数,他需要传指针 
 还有我定义了一个结构如何向dll的函数传递其指针? 
 http://community.csdn.net/Expert/topic/5612/5612998.xml?temp=.9482843   
 http://community.csdn.net/Expert/topic/5614/5614773.xml?temp=.5012018 
 所有分了,解决一起结了。
------解决方案--------------------char[] charArray = StringBuilder.ToString().ToCharArray(); 
 unsafe 
 { 
      fixed(char* p = &charArray[0]) 
      { 
           //p就是字串首地址 
      } 
 }
------解决方案--------------------http://msdn2.microsoft.com/en-us/library/s97shtze(VS.80).aspx
------解决方案--------------------//参考标准API如何实现的   
 [DllImport( "user32.dll ")] 
 public static extern int GetWindowText(IntPtr hWnd,  
     StringBuilder lpString, int nMaxCount);   
 private void button1_Click(object sender, EventArgs e) 
 { 
     StringBuilder vStringBuilder = new StringBuilder(256); 
     GetWindowText(Handle, vStringBuilder, vStringBuilder.Capacity); 
     Console.WriteLine(vStringBuilder.ToString()); 
 } 
------解决方案--------------------用GCHandle.Alloc(object obj)方法来给string分配一个指针!
------解决方案--------------------能不能把你的DLL拿过来让我看看??
------解决方案--------------------举个例子 
 [DllImport( "user32.dll ")] 
 public static extern IntPtr SendMessage(HandleRef hWnd, int msg, ref int wParam, ref int lParam); 
 如果Api方法需要返回这个参数,那么就用ref string paramname来定义参数。