手机程序调用拍照功能时,出现异常。请高手指教

老李家的小二 2011-04-25 04:46:22
程序代码
void view_CaptureClicke(object sender, EventArgs e)
{
string NewFile = ConfigurationSettings.AppSettings["pictureUrl"].ToString();//手机中存储照片的路径
CameraCaptureDialog ccd = new CameraCaptureDialog();
ccd.Mode = CameraCaptureMode.Still;
ccd.StillQuality = CameraCaptureStillQuality.Low;
ccd.Title = "拍照";
ccd.InitialDirectory = NewFile;
if (ccd.ShowDialog() == DialogResult.OK)
{
if (ccd.FileName != null)
{
string fileName = ccd.FileName;
string NewFileName = fileName.Substring(fileName.LastIndexOf("\\"));
if (File.Exists(fileName))
{
List<string> selectedItems = new List<string>();
ListViewItem item = new ListViewItem(new string[] { NewFileName, ccd.FileName.Length.ToString() });
// 设置文件全路径
item.Tag = ccd.FileName;
selectedItems.Add(item.Tag.ToString());
//记录新照的照片
ManageSelctItem.AddSelectNode(fileName);
//将新图片添加到任务
selectedPhotos = ManageSelctItem.GetName();
IFileSelectView AddNewPohto = new FileSelectView() ;
OnSetFileSelectSign(this, new DataEventArgs<List<string>>(selectedPhotos));
}
}
}
ccd.Dispose();
}

出现的异常
信息:msg:An unknown error occurred.StackTrace:位于 Microsoft.WindowsMobile.Forms.CameraCaptureDialog.LaunchCameraCaptureDialog(IntPtr ptrStruct)
位于 Microsoft.WindowsMobile.Forms.CameraCaptureDialog.ShowDialog()
位于 SmApp.Mobile.CityMgr.CaseUpModule.CaseUp.CaseUpPresenter.view_CaptureClicke(Object sender, EventArgs e)
位于 SmApp.Mobile.CityMgr.CaseUpModule.CaseUp.CaseUpView.btnCapture_Click(Object sender, EventArgs e)
位于 System.Windows.Forms.Control.OnClick(EventArgs e)
位于 System.Windows.Forms.Button.OnClick(EventArgs e)
位于 System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
位于 System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
位于 Microsoft.AGL.Forms.EVL.EnterMainLoop(IntPtr hwnMain)
位于 System.Windows.Forms.Application.Run(Form fm)
位于 Microsoft.Practices.Mobile.CompositeUI.WinForms.FormShellApplication`2.Start()
位于 Microsoft.Practices.Mobile.CompositeUI.CabApplication`1.Run()
位于 SmApp.Mobile.CityMgrShell.ShellApplication.Main()

希望解决过类似问题的兄弟姐妹们多多指教!
...全文
358 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
老李家的小二 2011-06-22
  • 打赏
  • 举报
回复
谢谢各位踊跃发言,献计献策。
我的问题依然没有解决,如有答案请献上,先谢谢了。
还是先散分吧,虽然不多,代表了我的谢意。
sunyongwang 2011-06-20
  • 打赏
  • 举报
回复
private void buttonAddPhotos_Click(object sender, EventArgs e)
{
try
{
string strPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\Photos\\";
if (Directory.Exists(strPath) == false)//如果不存在就创建Photos文件夹
{
Directory.CreateDirectory(strPath);
}


CameraCaptureDialog cameraCapture = new CameraCaptureDialog();
cameraCapture.DefaultFileName = strMachineCode + DateTime.Now.ToString("yyyyMMddhhmmss") + ".JPG";
cameraCapture.InitialDirectory = strPath;

cameraCapture.Mode = CameraCaptureMode.Still;
cameraCapture.StillQuality = CameraCaptureStillQuality.High;
cameraCapture.Resolution = new Size(240, 320);
if (cameraCapture.ShowDialog() == DialogResult.OK && cameraCapture.FileName.Length > 0)
{
this.listBoxPhotos.Items.Add(cameraCapture.DefaultFileName);
}
else
{
MessageBox.Show("拍照失败");
}

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
sunyongwang 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 ligyu110 的回复:]
程序代码
void view_CaptureClicke(object sender, EventArgs e)
{
string NewFile = ConfigurationSettings.AppSettings["pictureUrl"].ToString();//手机中存储照片的路径
CameraCaptureDialog ccd = new CameraCaptur……
[/Quote]

貌似没有问题啊,不过没有测试楼主的代码,下帖中把我之前写过的ok的代码给楼主贴上。
虫子68 2011-05-31
  • 打赏
  • 举报
回复
今天我也遇到了楼主同样的问题,错误日志跟lz的基本一样。。。

Message:An invalid argument was specified. StackTrace: at Microsoft.WindowsMobile.Forms.CameraCaptureDialog.LaunchCameraCaptureDialog(IntPtr ptrStruct)
at Microsoft.WindowsMobile.Forms.CameraCaptureDialog.ShowDialog()
at CTPProject.UI.Controls.TakePhotoControl.BtnCamera_Click(Object sender, EventArgs e)
at CTPProject.Forms.PhotoSnap.btnCamera_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal)
at System.Windows.Forms.Form.ShowDialog()
at Extention.ShowDialog(Form childForm, Form parentForm)
at Extention.ShowDialog(Form childForm, Control userContrl)
at CTPProject.Forms.UnitInfo.dashListControl_ItemClick(Object sender, ListBoxItemEventArgs e)
at CTPProject.UI.Controls.GroupListControl.OnItemClick(Int32 index)
at CTPProject.UI.Controls.GroupListControl.OnMouseDown(MouseEventArgs e)
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal)
at System.Windows.Forms.Form.ShowDialog()
at Extention.ShowDialog(Form childForm, Form parentForm)
at CTPProject.Forms.M_Main.btnMaintenanceSearch_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.ButtonBase.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal)
at System.Windows.Forms.Form.ShowDialog()
at Extention.ShowDialog(Form childForm, Form parentForm)
at CTPProject.UI.Forms.DashBoard.pboxMaintenance_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal)
at System.Windows.Forms.Form.ShowDialog()
at Extention.ShowDialog(Form childForm, Form parentForm)
at CTPProject.UI.Forms.MainScreen.pBoxServiceManagement_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Control.WnProc(WM wm, Int32 wParam, Int32 lParam)
at System.Windows.Forms.Control._InternalWnProc(WM wm, Int32 wParam, Int32 lParam)
at Microsoft.AGL.Forms.EVL.EnterModalDialog(IntPtr hwnModal)
at System.Windows.Forms.Form.ShowDialog()
at Extention.ShowDialog(Form childForm, Form parentForm)
at CTPProject.Forms.FirstForm..ctor()
at CTPProject.UI.Forms.Program.Main()
InnerException:
老李家的小二 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ginpq 的回复:]
ccd.Owner
[/Quote]

与这个属性无关,问题依旧。
老李家的小二 2011-05-06
  • 打赏
  • 举报
回复
补充说明:
我的系统中有‘拍照’按钮,调用手机的照相机模块,用户在使用系统过程中,一天平均会自动退出系统3-4次,一点击‘拍照’按钮,系统就自动退出。

有情人,请支招。
ginpq 2011-04-28
  • 打赏
  • 举报
回复
ccd.Owner
ginpq 2011-04-28
  • 打赏
  • 举报
回复
缺少cameraCapture.Owner
老李家的小二 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 91program 的回复:]
可能是Mobile吧

LZ在提问的时候,最好能说一下平台是什么
[/Quote]

手机是windows mobile 6.5操作系统
程序的开发平台是vs2008
老李家的小二 2011-04-27
  • 打赏
  • 举报
回复
手机是windows mobile 6.5操作系统
91program 2011-04-27
  • 打赏
  • 举报
回复
可能是Mobile吧

LZ在提问的时候,最好能说一下平台是什么
老李家的小二 2011-04-26
  • 打赏
  • 举报
回复
要沉了,没人回答吗?
顶起来!!!
ginpq 2011-04-26
  • 打赏
  • 举报
回复
CE? .

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧