writeprivateprofilestring(writeprivateprofilestring写入失败)

张工 2022-06-22 17:42:25 阅读:15
  

vb编程 我用WritePrivateProfileString和GetPrivateProfileString冲突??

  我没用过WritePrivateProfileString这个api,不过我查看了下使用说明,vc版本的是这样的:

  BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);

  其中各参数的意义

  LPCTSTR lpAppName是初始化设置文件的后缀名文件中的一个字段名。

  项名地址是输入参数下的一个键名,通俗讲就是变量名。

  LPCTSTR lpString是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的。指向文件名的指针是完整的初始化设置文件的后缀名文件名

  也就是说,所有参数都是以指针形式表示的字符窜,那你从动词调用这个美国石油学会(美国石油协会)的时候,参数传过去也要是一个指针,指针在动词中使用长的型数据来表示的,你用线明显是不行的。

  我没有试验,给出如下建议:

  1、更改你的美国石油学会(美国石油协会)定义,把参数类型都从线改成长,

  声明函数WritePrivateProfileString库'内核32 '别名WritePrivateProfileString a '(ByVal lpApplicationName为ByVal lpKeyName为长整型,ByVal lpString为long,ByVal lpFileName为龙)

  2、用VarPtrStringArray(或者其他几个获取变量的函数)获取你字符窜的地址,作为参数传递给api .

  你试试看writeprivateprofilestring ' get filesize ',' getfilesize'loopi 1,temp(loopi),app.path 'path.ini '

  第一,写操作最好不要返回值了,没什么意义

  第二,我不知道你的温度(100皮)是什么,但我用下面句子调试,没有问题。

  WritePrivateProfileString '1233 ',' 4566 ',' 1234 ',' c:\1234.ini '

[DllImport("kernel32")] WritePrivateProfileString

  (同Internationalorganizations)国际组织内部;

  int InternalHigh

  (同Internationalorganizations)国际组织偏移量;

  int OffSetHigh

  int hEvent

  【系统运行时。互操作服务。dllimport('内核32。dll ')]

  private static extern int create file(string LP filename,uint dwDesiredAccess,int dwShareMode,int lpSecurityAttributes,int dwCreationDisposition,int dwFlagsAndAttributes,int hTemplateFile);

  【系统运行时。互操作服务。dllimport('内核32。dll ')]

  private static extern bool WriteFile(int hFile,byte[] lpBuffer,int nNumberOfBytesToWrite,out int lpNumberOfBytesWritten,out OVERLAPPED LP OVERLAPPED);

  【系统运行时。互操作服务。dllimport('内核32。dll ')]

  私有静态外部bool关闭句柄(int ho对象);

  私有int iHandle

  public bool Open()

  iHandle=CreateFile('LPT1: ',(uint)FileAccess .读写,0,0,(int)FileMode .开,0,0);

  如果(我处理!=-1)

  返回真实的

  其他

  返回错误的

  }两种方法,你试试:

  1、加双引号,例如:' d:\program files\a.ini '

  2、用8.3格式目录名,例如:d : \ program files \ a . ini==d : \ progra ~ 1 \ a . ini

二维码