编程调试程序时遇到“不是有效的win32应用程序”的错误
想学习directx编程时遇到的问题,严重打击积极性呀..编程环境:
Win7 64位
vb.net 2008
.net Framework 3.5
Microsoft DirectX sdk(June 2010)
程序如下,就是网上的一个简单到不能再简单的directsound程序
已添加了Microsoft.DirectX.dll 和 Microsoft.DirectX.DirectSound.dll 引用
调试前没有报错,但是一运行调试就出现“不是有效的win32应用程序”的错误
但我在别人xp 32位的机器上试了一下,没问题..
现在在上班没法贴图,只能这样了,求解!!!
Imports Microsoft.DirectX
Imports Microsoft.DirectX.DirectSound
Public Class Form1
Dim Dev As Device '声明设备
Dim SB As SecondaryBuffer '声明缓冲区
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dev = New Device '实例化设备
Dev.SetCooperativeLevel(Me, CooperativeLevel.Normal) '绑定设备到窗口
SB = New SecondaryBuffer("D:\1.wav", Dev) '实例初始化缓冲区
SB.Play(0, BufferPlayFlags.Looping) '播放声音
End Sub
End Class --------------------编程问答-------------------- 我也遇到类似情况。不过我是在测试directx 播放视频时遇到的。在xp系统下没有问题,移到win7下就提示非有效win32应用程序的错误。 开发环境:win7 vs2008 C# .net 3.5、directx sdk(June 2010).目前一直没有找原因。仅仅知道一遇到directx里面播放视频的函数时就报错。 --------------------编程问答-------------------- 我也遇到同样的问题,win7 x64, vs2008, C#, .net 3.5。
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
一执行这句private Device device = null;就出现“不是有效的 Win32 应用程序。 (异常来自 HRESULT:0x800700C1)”,不知道是什么原因。请高手们给予帮助。 --------------------编程问答-------------------- 因为DX x86和x64的原因- -
正常dx的dll都是x86执行的 这需要你的程序运行环境也是x86才能正确链接到库
如果用32位程序引用64位dll 或者64位程序引用32位dll就会出问题
试着右键项目-属性-生成-目标平台 如果是anycpu或者其它 改成x86 重新生成一下试试
补充:.NET技术 , VB.NET