CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

这个API调用没胡有语 错误,但为什么在打印出来好多小四方格呀,我以前也遇到 过,不知什么原因

楼主crcr(游侠)2003-08-03 16:34:42 在 VB / API 提问

Private   Declare   Function   GetTempFileName   Lib   "kernel32"   Alias   "GetTempFileNameA"   (ByVal   lpszPath   As   String,   ByVal   lpPrefixString   As   String,   ByVal   wUnique   As   Long,   ByVal   lpTempFileName   As   String)   As   Long  
   
   
   
  Private   Declare   Function   GetTempPath   Lib   "kernel32"   Alias   "GetTempPathA"   (ByVal   nBufferLength   As   Long,   ByVal   lpBuffer   As   String)   As   Long  
   
   
  Private   Sub   Form_Click()  
  Dim   temppath   As   String   *   255,   tempfilex   As   String   *   255  
  x   =   GetTempPath(255,   temppath)  
  temppath   =   Left(tempfilex,   x)  
  x   =   GetTempFileName(temppath,   "API",   0,   tempfilex)  
  tempfile   =   Left(Trim(tempfilex),   Len(Trim(tempfilex)))  
  Print   "temporary   filename   is:"  
  Print   tempfile  
   
   
  Print   Len(t)  
  End   Sub  
   
  问题点数:0、回复次数:7Top

1 楼crcr(游侠)回复于 2003-08-03 18:42:34 得分 0

我实在不知为什么呀Top

2 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-03 19:26:22 得分 0

temppath   =   Left(tempfilex,   x)  
  改为  
  temppath   =   Left(temppath,   x)  
  Top

3 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-03 19:30:13 得分 0

而且  
  Private   Declare   Function   GetTempFileName   Lib   "kernel32"   Alias   "GetTempFileNameA"   (ByVal   lpszPath   As   String,   ByVal   lpPrefixString   As   String,   ByVal   wUnique   As   Long,   ByVal   lpTempFileName   As   String)   As   Long  
  注意,其中lpszPath   As   String不能是定长字符串。  
   
  所以要这样:  
  Private   Declare   Function   GetTempFileName   Lib   "kernel32"   Alias   "GetTempFileNameA"   (ByVal   lpszPath   As   String,   ByVal   lpPrefixString   As   String,   ByVal   wUnique   As   Long,   ByVal   lpTempFileName   As   String)   As   Long  
   
   
   
  Private   Declare   Function   GetTempPath   Lib   "kernel32"   Alias   "GetTempPathA"   (ByVal   nBufferLength   As   Long,   ByVal   lpBuffer   As   String)   As   Long  
   
   
  Private   Sub   Form_Click()  
  Dim   temppath   As   String   *   255,   tempfilex   As   String   *   255  
  x   =   GetTempPath(255,   temppath)  
  x   =   GetTempFileName(Left(temppath,   x),   "API",   0,   tempfilex)  
  tempfile   =   Left(Trim(tempfilex),   Len(Trim(tempfilex)))  
  Print   "temporary   filename   is:"  
  Print   tempfile  
   
  Print   Len(t)  
  End   Sub  
  Top

4 楼crcr(游侠)回复于 2003-08-03 19:57:19 得分 0

学贵有恒,不必三更眠五更起。  
  功期无间,只怕一日曝十日寒  
  学海无涯,孜孜不倦苦为今生,  
  明年今日,功名成就无尽飞来!  
  执着追求   永不言败    
  Top

5 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2003-08-03 20:28:28 得分 0

temppath   =   StrConv(LeftB(StrConv(tempfilex,vbFromUnicode),   x),   vbUnicode)  
  Top

6 楼crcr(游侠)回复于 2003-08-04 22:03:07 得分 0

那是为什么呀???????Top

7 楼pigpag(Pigpag - A GRE Fighter)回复于 2003-08-04 22:46:19 得分 0

因为返回的x是字符串的字节数。  
   
  ……可能吧……我怎么就不需要这句的Top

相关问题

  • 调用API的错误,我要郁闷死了!
  • 调用api函数错误?请大家来给看看。谢谢!
  • C# 调用外部API函数问题 API接口中类似 ApiFunc(void ** ppPara) ,总是调用错误.
  • Api调用
  • api调用
  • FormatMessage 调用API后返回0,用GetlastError获得错误号,可不会用FormatMessage
  • 调用DLL出现错误!
  • asp中调用错误!
  • dll调用约定错误?
  • 调用线程的错误~

关键词

  • api
  • tempfilex
  • temppath
  • gettempfilename
  • byval
  • longprivate
  • lpprefixstring
  • gettempfilenamea
  • lptempfilename
  • wunique

得分解答快速导航

  • 帖主:crcr

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo