小编Jon*_*nek的帖子

git log表示文件的一部分

我想看到所有git提交影响了我的一个文件中当前行x-y的内容.有没有办法可以做到这一点?

git

15
推荐指数
2
解决办法
1630
查看次数

根据VS活动配置定义Wix属性和值

如何根据哪个Visual Studio配置处于活动状态来定义更改的Wix属性和值?例如,对于我们的发布版本,var x = 1,对于导出构建,var x = 2.

wix wix3

12
推荐指数
2
解决办法
6950
查看次数

什么是Windows"USER对象"

我正在尝试跟踪我们的MFC代码中看起来像资源限制问题的问题.内存和CPU看起来很好.根据任务管理器上的进程选项卡,我们的GDI对象与其他应用程序一致,但我们的USER对象似乎比其他应用程序大10倍.

什么是"USER对象",有什么限制?

windows winapi mfc

11
推荐指数
2
解决办法
1万
查看次数

如何在MFC中创建一个guid

我需要能够动态创建guid.有没有办法在MFC中这样做?我知道如何在.net中做到这一点,但我们还没有去过那里.如果没有,你有指向我可以使用的一些代码的指针吗?

c++ mfc guid

10
推荐指数
4
解决办法
1万
查看次数

自动化wix小更新和次要升级

我刚刚在wix教程中阅读了以下内容.

由于某些奇怪的原因,只需单击.msi文件就无法运行小更新和次要升级 - 它们会出现错误:"已安装此产品的另一个版本." 我们知道,愚蠢...无论如何,你必须用命令启动它:

msiexec/i SampleUpgrade2.msi重新安装=所有重新安装模式= vomus

不要问我这对普通用户有什么影响...你最好从Autorun.inf文件启动它,或者设计一个外部Setup.exe shell来启动它.

我们希望人们能够下载最新版本的应用并安装它,即使他们已经安装了旧版本.你通常如何处理这个问题?

wix

9
推荐指数
1
解决办法
8348
查看次数

如何在MFC中获得多行工具提示

现在,当我将鼠标悬停在编辑框上时,我会弹出一个工具提示.问题是这个工具提示包含多个错误消息,它们都在一个长行中.我需要将每条错误消息都放在自己的行上.错误消息包含在CString中,新行分隔它们.

我现有的代码如下.

BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult)
{
    ASSERT(pNMHDR->code == TTN_NEEDTEXTA || pNMHDR->code == TTN_NEEDTEXTW);
    // need to handle both ANSI and UNICODE versions of the message
    TOOLTIPTEXTA* pTTTA = (TOOLTIPTEXTA*)pNMHDR;
    TOOLTIPTEXTW* pTTTW = (TOOLTIPTEXTW*)pNMHDR;
    //    TCHAR szFullText[256];
    CString strTipText=_T("");
    UINT nID = pNMHDR->idFrom;
    if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
        pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
    {
        // idFrom is actually the HWND of the tool
        nID = ::GetDlgCtrlID((HWND)nID);
    }

    //m_errProjAccel[ch] contains 1 or more …
Run Code Online (Sandbox Code Playgroud)

c++ mfc

7
推荐指数
1
解决办法
8248
查看次数

从析构函数中调用BeginInvoke

我在WPF应用程序中有一些代码如下所示:

public class MyTextBox : System.Windows.Controls.TextBox, IDisposable
{
    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        Dispatcher.BeginInvoke((Action) delegate
        {
            // do work on member variables on the UI thread.
        });
    }

    ~MyTextBox()
    {
        Dispose(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

dispose方法永远不会被显式调用,因此析构函数会调用它.看起来在这种情况下,对象将在BeginInvoke中的委托在UI线程上触发之前被销毁.它似乎工作了.这里发生了什么?这样安全吗?

.net c# wpf dispatcher

7
推荐指数
1
解决办法
420
查看次数

atoi()与其他语言

我正在开展国际化项目.其他语言(如阿拉伯语或中文)是否对0-9以外的数字使用不同的表示形式?如果是这样,atoi()的版本是否会考虑这些其他表示?

我应该补充一点,我主要关心解析用户的输入.如果用户键入其他一些表示,我想确保将其识别为数字并相应地对待它.

c++ mfc internationalization visual-c++

6
推荐指数
1
解决办法
1009
查看次数

select语句中的"字符串数据,右截断"警告

我正在将访问2003数据库升级到SQL Server Express 2008.这些表似乎创建正常,数据看起来还不错.

我有一个连接到此数据库的MFC应用程序.它可以很好地连接到访问,但是当我连接到SQL Server时,我在select语句上收到以下错误.

DBMS: Microsoft SQL Server
Version: 10.50.1600
ODBC Driver Manager Version: 03.80.0000
Warning: ODBC Success With Info on field 0.
String data, right truncation

State:01004,Native:0,Origin:[Microsoft][ODBC SQL Server Driver]
Run Code Online (Sandbox Code Playgroud)

返回的数据应为8个字符,但只有7个字符,最右边的字符被截断.

访问前端可以正确读取SQL Server中的数据.

SQL Server表中的字段定义为nvarchar,长度为8.

读取该字段的代码类似于

CDatabase Database;
CString sSerialNumber = "00000000";
CString SqlString;

CString sDsn = "Driver={SQL Server};Server=server\\db;Database=Boards;Uid=uid;Pwd=pwd;Trusted_Connection=False";
Database.Open(NULL,false,false,sDsn);

CRecordset recset( &Database );
SqlString.Format("Select SerialNumber from boards where MACAddress = '%s'",mac);
recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);
recset.GetFieldValue("SerialNumber",sSerialNumber);
Run Code Online (Sandbox Code Playgroud)

在此之后,sSerialNumber应该是12345678但是它的1234567

谢谢您的帮助

sql-server ms-access mfc odbc

5
推荐指数
1
解决办法
2万
查看次数

如何处理HTTP文件上传?

如何编写通过HTTP帖子接收文件的Perl CGI脚本并将其保存到文件系统?

perl cgi file-upload

4
推荐指数
3
解决办法
1117
查看次数

清理PHP密码字符串

我有一个PHP页面,允许人们运行htpasswd来更新他们的密码.什么是消毒他们的输入的最佳方法.我不想限制输入,因为我想允许安全密码.这就是我所拥有的.怎么改进?

$newPasswd = preg_replace('/[^a-z0-9~!()_+=[]{}<>.\\\/?:@#$%^&*]/is', '', $inputPasswd);
$cmdline = $htpasswd . " " . $passwd_file . " " . escapeshellarg($username) . " " .escapeshellarg($newpasswd);
exec( $cmdline, $output, $return_var );
Run Code Online (Sandbox Code Playgroud)

php security validation

3
推荐指数
1
解决办法
2831
查看次数

MFC文件上传

如何使用c ++和MFC将文件上传到Web服务器.我们没有使用.Net.我需要打开一个插座并自己做一切吗?如果是这样,哪里有一个很好的参考?

c++ upload mfc

2
推荐指数
1
解决办法
7302
查看次数

为什么我在菜单中输入问号代替unicode字符?

我有一个用MBCS编译的MFC应用程序.我们还使用MFC Feature Pack中的CMFCMenuBar来显示我们的菜单.

我正在尝试使用以下代码将unicode字符添加到我的菜单中(来自此问题)

MENUITEMINFOW mi;
mi.cbSize = sizeof(MENUITEMINFOW);
mi.fMask = MIIM_ID | MIIM_TYPE;
mi.fType = MFT_STRING;
mi.wID = 34503; 
WCHAR text[128];
wcscpy_s(text,L"\u573F");
mi.dwTypeData = text;
InsertMenuItemW(hMenu,1,true,&mi);
Run Code Online (Sandbox Code Playgroud)

运行正常,InsertMenuItemW的返回码为1,但我在菜单中得到一个问号而不是圿

为什么我会收到问号?

我正在运行Windows7旗舰版

unicode winapi localization mfc-feature-pack

1
推荐指数
1
解决办法
413
查看次数