当前位置:编程学习 > C#/ASP.NET >>

编程调试程序时遇到“不是有效的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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,